home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.c      Meh, in C you gotta define EVERYTHING      243,242 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 242,294 of 243,242   
   Keith Thompson to David Brown   
   Re: _BitInt(N)   
   01 Dec 25 08:56:10   
   
   From: Keith.S.Thompson+u@gmail.com   
      
   David Brown  writes:   
   [...]   
   > (I am not entirely sure, but I think it is standards-conforming for an   
   > implementation to haev BITINT_MAXWIDTH set to 64 and support all   
   > _BitInts up size 64, and then also support _BitInts of multiples of 64   
   > thereafter.  Use of _BitInt greater than BITINT_MAXWIDTH is UB in the   
   > standard - so an implementation can choose to give that a defined   
   > behaviour for specific sizes.)   
   [...]   
      
   No, _BitInt(N) where N > BITINT_MAXWIDTH is a constraint violation.   
      
   N3220 6.7.3.1p2 ("Constraints") :   
      
       The parenthesized constant expression that follows the _BitInt   
       keyword shall be an integer constant expression N that specifies   
       the width (6.2.6.2) of the type. The value of N for unsigned   
       _BitInt shall be greater than or equal to 1. The value of N   
       for _BitInt shall be greater than or equal to 2.  The value of   
       N shall be less than or equal to the value of BITINT_MAXWIDTH   
       (see 5.2.5.3.2).   
      
   As I mentioned before, there's a proposal for C2y to allow   
   signed _BitInt(1).   
      
   Of course an implementation could do what you suggest as an extension.   
      
   --   
   Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com   
   void Void(void) { Void(); } /* The recursive call of the void */   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca