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,267 of 131,241   
   Kaz Kylheku to Michael S   
   Re: VAX   
   05 Aug 25 21:13:50   
   
   XPost: comp.lang.c   
   From: 643-408-1753@kylheku.com   
      
   On 2025-08-04, Michael S  wrote:   
   > On Mon, 4 Aug 2025 15:25:54 -0400   
   > James Kuyper  wrote:   
   >   
   >> On 2025-08-04 15:03, Michael S wrote:   
   >> > On Mon, 04 Aug 2025 09:53:51 -0700   
   >> > Keith Thompson  wrote:   
   >> ...   
   >> >> In C17 and earlier, _BitInt is a reserved identifier.  Any attempt   
   >> >> to use it has undefined behavior.  That's exactly why new keywords   
   >> >> are often defined with that ugly syntax.   
   >> >>   
   >> >   
   >> > That is language lawyer's type of reasoning. Normally gcc   
   >> > maintainers are wiser than that because, well, by chance gcc   
   >> > happens to be widely used production compiler. I don't know why   
   >> > this time they had chosen less conservative road.   
   >>   
   >> 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.   
      
   (I don't know that to be true; an extension has to be documented other   
   than by omission. But anyway, if the GCC documentation says somewhere   
   something like, "no other identifier is reserved in this version of   
   GCC", then it means that the remaining portions of the reserved   
   namespaces are available to the program. Since it is undefined behavior   
   to use those identifiers (or in certain ways in certain circumstances,   
   as the case may be), being able to use them with the documentation's   
   blessing constitutes use of a documented extension.)   
      
   > I would guess, up until this calendar year.   
   > Introducing new extension without way to disable it is different from   
   > supporting gradually introduced extensions, typically with names that   
   > start by double underscore and often starting with __builtin.   
      
   __builtin also in a standard-defined reserved namespace; the double   
   underscore namespace. It is no more or less conservative to name   
   something __bitInt as _BitInt.   
      
      
   --   
   TXR Programming Language: http://nongnu.org/txr   
   Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal   
   Mastodon: @Kazinator@mstdn.ca   
      
   --- 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