On Mon, May 13, 2024 at 04:55:28PM -0400, 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. > > Signed-off-by: Petr Vorel <petr.vo...@gmail.com> > Co-authored-by: Zack Weinberg <z...@owlfolio.org>
Applied, thanks. -- ldv