Autoconf 2.73's preference for C23 apparently includes gcc-14, I presume because it provides options -stdc=gnu23 and =c23.
The problem is that the C23 support in that version of gcc is "experimental" (I think it predates the final release of C23), and hence __STDC_VERSION__ is not defined to be the usual 202311L, but "an unspecified value greater than 201710L". In gcc 14.2, it is 202000L. (This is the default compiler for FreeBSD 13.x, at least. Which particular OS version is soon to be end-of-life, granted, but that's beside the point I'm trying to make.) I think it would be better if autoconf did not switch to such partial implementations of standards, and only switched if the compiler supports the full, final, real standard. Otherwise, every application has to start messing around with precisely which __STDC_VERSION__ values are used in what circumstances (not desirable, seems to defeat the purpose of having well-defined __STDC__VERSION__ values), and/or somehow forcing different versions of compilers in such in-between cases (also not desirable, not at all simple to figure out what to do and when and how). Such partial implementations while a new version of a standard is being developed will surely come up again in the future. MHO, FWIW. --thanks, karl. P.S. Also, not a bug, but I admit I don't understand the logic of preferring C23 for C compilers by default (when available), but leaving C++ as the compiler default. It would seem better and clearer to me for Autoconf to use the compiler default in all cases, and leave it to the application to decide on the standard to aim for. After all, forcing C23 will soon (within a few years) not be the right thing for people who want to live on the bleeding edge. Nor is it the right thing now for people who don't. Standards are always changing, and different standards are better for different people; please consider having Autoconf be agnostic about what standard to use.
