Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: David Brown Newsgroups: comp.lang.c Subject: Re: Baby X is bor nagain Date: Mon, 1 Jul 2024 00:20:38 +0200 Organization: A noiseless patient Spider Lines: 24 Message-ID: References: <20240624160941.0000646a@yahoo.com> <20240624181006.00003b94@yahoo.com> <20240625113616.000075e0@yahoo.com> <87ed8jnbmf.fsf@bsb.me.uk> <20240627201830.854@kylheku.com> <20240628032211.403@kylheku.com> <20240630121835.00000e48@yahoo.com> <20240630191018.00007961@yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 01 Jul 2024 00:20:38 +0200 (CEST) Injection-Info: dont-email.me; posting-host="10fddbc959226e72897d16d1e86ed985"; logging-data="762012"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/26y8h2tF3Xv7fAiJIHU02u32Me/p+h58=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 Cancel-Lock: sha1:TIZK9fWQlV4HBg4FcnzPxA6cnh0= In-Reply-To: <20240630191018.00007961@yahoo.com> Content-Language: en-GB Bytes: 3261 On 30/06/2024 18:10, Michael S wrote: > On Sun, 30 Jun 2024 17:54:14 +0200 > David Brown wrote: >> But why would you expect a warning from code that is perfectly legal >> and well-defined C code, without explicitly enabling warnings that >> check for particular style issues? Non-prototype function >> declarations are deprecated (since C99), but not removed from the >> language until C23 (where that declaration is now a function >> prototype). > > I expect warning at -Wall, because it is deprecated. Those who do > not want warning can turn it off explicitly with -Wno-strict-prototypes > or whatever the name of the switch. > Deprecated does not mean you can't, or even should not, use the feature. It is just a warning that it might be removed some time in the future. I personally agree that it would be have been better if there had been a warning here, but compatibility with existing code meant that gcc choose to be conservative. I've had "-Wstrict-prototypes" in my makefiles for decades. So I am glad to see C23 removing non-prototype declarations entirely, only 20 years or so late. But the default flags and settings are not picked for what you or I would like.