home bbs files messages ]

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

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

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

   Message 129,307 of 131,241   
   Keith Thompson to James Kuyper   
   Re: VAX   
   06 Aug 25 13:58:51   
   
   XPost: comp.lang.c   
   From: Keith.S.Thompson+u@gmail.com   
      
   James Kuyper  writes:   
   > On 2025-08-05 17:13, Kaz Kylheku wrote:   
   >> On 2025-08-04, Michael S  wrote:   
   >>> On Mon, 4 Aug 2025 15:25:54 -0400   
   >>> James Kuyper  wrote:   
   >>>   
   > ...   
   >>>> If _BitInt is accepted by older versions of gcc, that means it was   
   >>>> supported as a fully-conforming extension to C. Allowing   
   >>>> implementations to support extensions in a fully-conforming manner is   
   >>>> one of the main purposes for which the standard reserves identifiers.   
   >>>> If you thought that gcc was too conservative to support extensions,   
   >>>> you must be thinking of the wrong organization.   
   >>>>   
   >>>   
   >>> I know that gcc supports extensions.   
   >>> I also know that gcc didn't support *this particular extension* up   
   >>> until quite recently.   
   >>   
   >> I think what James means is that GCC supports, as an extension,   
   >> the use of any _[A-Z].* identifier whatsoever that it has not claimed   
   >> for its purposes.   
   >   
   > No, I meant very specifically that if, as reported, _BitInt was   
   > supported even in earlier versions, then it was supported as an extension.   
      
   gcc 13.4.0 does not recognize _BitInt at all.   
      
   gcc 14.2.0 handles _BitInt as a language feature in C23 mode,   
   and as an "extension" in pre-C23 modes.   
      
   It warns about _BitInt with "-std=c17 -pedantic", but not with   
   just "-std=c17".  I think I would have preferred a warning with   
   "-std=c17", but it doesn't bother me.  There's no mention of _BitInt   
   as an extension or feature in the documentation.  An implementation   
   is required to document the implementation-defined value of   
   BITINT_MAXWIDTH, so that's a conformance issue.  In pre-C23 mode,   
   since it's not documented, support for _BitInt is not formally an   
   "extension"; it's an allowed behavior in the presence of code that   
   has undefined behavior due to its use of a reserved identifier.   
   (This is a picky language-lawyerly interpretation.)   
      
   --   
   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