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,861 of 243,242   
   Tim Rentsch to Keith Thompson   
   Re: VAX   
   06 Jan 26 21:33:08   
   
   From: tr.17687@z991.linuxsc.com   
      
   Keith Thompson  writes:   
      
   > 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.)   
      
   To clarify the last part, undefined behavior is allowed only   
   because a diagnostic was generated.  If there were no diagnostic   
   then it would have to be documented as an extension, otherwise   
   the implementation would not be conforming.   
      
   --- 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