Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.std.c Subject: Re: Addition of nocode keyword Date: Thu, 31 Oct 2019 10:14:20 -0700 Organization: None to speak of Lines: 23 Message-ID: References: <942b0023-9e69-4fb1-b382-e720d87e0d62@googlegroups.com> <84ba0295-fa2f-42d2-9261-401239afe110@googlegroups.com> <3e29c254-1116-45ad-a635-95de0ba736ad@googlegroups.com> <1fe7bd3f-1dc4-4fd6-b222-e59868ce1f56@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: reader02.eternal-september.org; posting-host="6132ddaff9ce58e4242c9cc8b74ae49d"; logging-data="9764"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1810fwudGLZQPY76LClioF2" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:EKdKuISQiVc/bAsVQfMTM3j/GQQ= sha1:ghbaGpVUDOLTk/R3/NWye5BDgy4= Xref: csiph.com comp.std.c:6045 David Brown writes: [...] > Once "implicit int" was removed from the language, you could no longer > write "auto x;" - you had to write "auto int x;", "register int x;" or > just "int x;" (with the auto implied) for a non-static local variable. > As there is no benefit in including the "auto", it is rarely seen. But > compilers /must/ still support "auto int x;" if they try to be > conforming, as it is still allowed even in modern standards. And many > still allow "auto x;" (with implicit int) when compiling in lax modes, > for support for older code. Yes, many compilers allow old forms for compatibility with earlier editions of the standard. But as far as the standard is concerned, allowing "auto x;" is no different from allowing any other non-C syntax. Backward compatibility extensions have no special status in the standard; the old forms are simply no longer C. (Expanding on what you wrote, not disagreeing.) -- Keith Thompson (The_Other_Keith) kst-u@mib.org Working, but not speaking, for Philips Healthcare void Void(void) { Void(); } /* The recursive call of the void */