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,256 of 243,242   
   Philipp Klaus Krause to All   
   Re: _BitInt(N)   
   30 Nov 25 11:12:08   
   
   From: pkk@spth.de   
      
   Am 30.11.25 um 02:32 schrieb Keith Thompson:   
   >> Thisis comp.lang.c, not comp.lang.c++. There still are implementations   
   >> of C other than GCC and clang. E.g. SDCC has a limit of 64.   
   >   
   > I didn't see any references to C++ in the parent article.  But it's   
   > interesting that SDCC support _BitInt.   
   >   
      
   I'm not sure, but I think SDCC was the probably first real _BitInt   
   implementation. SDCC got _BitInt in early 2022, GCC in late 2023.   
      
   clang had _ExtInt before anyone had _BitInt, and their documentation for   
   _BitInt claims "This type was previously implemented in Clang with the   
   same semantics, but spelled _ExtInt(N)". However AFAIK that is not   
   entirely true, integer promotion behaves differently for _ExtInt vs.   
   _BitInt. When the proposals were brought to WG14, _ExtInt would promote   
   to int for _ExtInt(N) with N <= sizeof(int) * CHAR_BITS, while _BitInt   
   doesn't.   
      
   And AFAIR, that difference is one of the reasons why the C standard   
   places quite some restrictions on _BitInt, disallowing the use of   
   _BitInt in many cases - it was considered too surprising to the user if   
   e.g. by allowing a _BitInt to be used for ptrdiff_t, one could have a   
   conforming implementation where sizeof(ptrdiff_t) < sizeof(int), but   
   ptrdiff_t doesn't promote to int.   
      
   Philipp   
      
   --- 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