Re: autoconf-2.73 and gcc-14 and incomplete C23 support

Paul Eggert <[email protected]> Fri, 19 Jun 2026 11:58:40 -0700
Newsgroups gmane.comp.sysutils.autoconf.bugs
Organization UCLA Computer Science Department
Message-ID <[email protected]>
On 2026-06-19 05:36, Florian Weimer wrote:
> Agreed, overriding the default seems problematic.  Soon enough, it will
> mean downgrading the compiler version.  And can be really problematic
> because some installed headers may assume the default GCC version,
> especially for C++.
> 
> It could be helpful to have an option to lift the standard to a version
> that is known to be needed for successful compilation.  But it should
> never downgrade the version.

As I understand it, Autoconf 2.73 no longer messes with the C++ version, 
and for C it adds --std=gnu23 only if that causes some C23-required 
features to start working. So Autoconf will downgrade the compiler 
version only if some hypothetical future C compiler defaults to 
rejecting one of those C23 features.

The biggest such glitch that I recall is that Autoconf 2.73 generates a 
'configure' script that can use -std=gnu23, which causes many warnings 
when you compile ancient code that still uses the K&R syntax that C17 
still requires but C23 disallows. But even here, in practice compilation 
fails only when you also specify a non-default compiler option like 
-Werror or -std=c23, so this has been merely an irritation rather than a 
showstopper. And given that K&R syntax is significantly more dangerous 
than function prototypes, it's not a major problem that this particular 
irritation exists: developers and builders should be warned about the 
problem, after all.

Of course it'd be fine to add an Autoconf option to disable its default 
test for the current C standard. But at least for C23, it still seems 
like a reasonable-enough default when such an option is not specified.