On Mon, May 13, 2024, at 4:55 PM, Zack Weinberg wrote:
> From: Petr Vorel <petr.vo...@gmail.com>
>
> Implicit ‘int’ (e.g. ‘extern foo();’ meaning the same thing as
> ‘extern int foo();’) was dropped from the C standard in its 1999
> edition.  Twenty-five years later, free C compilers are finally
> starting to make this an error by default, so let’s not use it
> anymore in config.guess probe programs.
>
> (Note: As of this writing, GCC 14 and Clang 16 are both more lenient
> for ‘main() { … }’ specifically than for other uses of implicit int.
> Still, the writing is clearly on the wall.)
>
> We continue to use ‘int main() { … }’, instead of ‘int main(void) { … }’,
> because these programs may be compiled by truly ancient compilers that
> do not recognize the keyword ‘void’.  This leaves open the possibility
> of a compiler that errors by default on an empty argument list in a
> function definition, which, prior to the 2024 C standard, is technically
> still an “old-style” function definition; but we can worry about that
> if and when it comes up.

Ping (parts 1 and 2 of this patch series only)

zw

Reply via email to