Path: csiph.com!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.arch,comp.lang.c Subject: Re: VAX Date: Wed, 06 Aug 2025 13:58:51 -0700 Organization: None to speak of Lines: 45 Message-ID: <878qjw6ub8.fsf@example.invalid> References: <0c857b8347f07f3a0ca61c403d0a8711@www.novabbs.com> <2025Jul30.075918@mips.complang.tuwien.ac.at> <2025Aug1.191648@mips.complang.tuwien.ac.at> <106jvc3$qan0$1@dont-email.me> <106kh0k$18ipb$1@paganini.bofh.team> <2025Aug3.185110@mips.complang.tuwien.ac.at> <106otf6$1sov2$1@dont-email.me> <106p4k6$1u13o$1@dont-email.me> <20250804121938.0000122a@yahoo.com> <2025Aug4.140932@mips.complang.tuwien.ac.at> <2025Aug4.165141@mips.complang.tuwien.ac.at> <20250804182839.00000600@yahoo.com> <87sei7do4g.fsf@example.invalid> <20250804220315.00007240@yahoo.com> <6859dc0d-f3b5-481b-8ffb-b4c0a722412e@alumni.caltech.edu> <20250804224049.00006937@yahoo.com> <20250805140933.174@kylheku.com> <106vtsh$2uli0$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Wed, 06 Aug 2025 20:58:55 +0000 (UTC) Injection-Info: dont-email.me; posting-host="a1d8d86f54dc776c8d74f7b67e60c5df"; logging-data="3791930"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19H2619VWY0MG9OVEkS83bd" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:dmaIaAnoe7vi4YXx7aPKrXUNGek= sha1:k4jiG0iIdIDuQZpjol0j1U4Xubk= Xref: csiph.com comp.arch:113017 comp.lang.c:394033 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 */