I’m the closest thing Autoconf has to a lead maintainer at present. It’s come to my attention (via https://lwn.net/Articles/913505/ and https://fedoraproject.org/wiki/Changes/PortingToModernC) that GCC and Clang both plan to disable several “legacy” C language features by default in a near-future release (GCC 14, Clang 16) (see the Fedora wiki link for a list). I understand that this change potentially breaks a lot of old dusty code, and in particular that Autoconf-generated configure scripts use constructs that may *silently give the wrong answer to a probe* when a stricter compiler is in use. Nobody has a whole lot of time to work on Autoconf at present, but I would like to ask, anyway, what Autoconf could potentially do to make this transition easier. I’m already aware that the test code Autoconf 2.71 uses to probe for C89/C99/C11 support is broken; this has been fixed in development trunk to the extent it is possible for me to test it with GCC 12 (commit: <https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=bf5a75953b6d504f0405b1ca33b039b8dd39eef4>). Several other places using K&R function definitions and/or unprototyped function declarations (including the ubiquitously used AC_CHECK_FUNC) have also been fixed on trunk, <https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b>. Changes to handle C23 built-in ‘bool’ better are under development but the design has not yet been finalized. The biggest remaining (potential) problem, that I’m aware of, is that AC_CHECK_FUNC unconditionally declares the function we’re probing for as ‘char NAME (void)’, and asks the compiler to call it with no arguments, regardless of what its prototype actually is. It is not clear to me whether this will still work with the planned changes to the compilers. Both GCC 12 and Clang 14 have on-by-default warnings triggered by ‘extern char memcpy(void);’ (or any other standard library function whose prototype is coded into the compiler) and this already causes problems for people who run configure scripts with CC='cc -Werror'. Unfortunately this is very hard to fix — we would have to build a comprehensive list of library functions into Autoconf, mapping each to either its documented prototype or to a header where it ought to be declared; in the latter case we would also have to make e.g. AC_CHECK_FUNCS([getaddrinfo]) imply AC_CHECK_HEADERS([sys/types.h sys/socket.h netdb.h]) which might mess up configure scripts that aren’t expecting headers to be probed at that point. How important do you think it is for this to be fixed? Are there any other changes you would like to see in a near-future Autoconf 2.72 in order to make this transition easier? zw p.s. GCC and Clang folks: As long as you’re changing the defaults out from under people, can you please also remove the last few predefined user-namespace macros (-Dlinux, -Dunix, -Darm, etc) from all the -std=gnuXX modes?