On 2026-04-29 13:54, Karl Berry wrote:
Unfortunately no compiler does that, as far as I know, and even if it
did it would be hard to test for it.
I'm not thinking of anything miraculous. Simply check if the resulting
__STDC_VERSION__ == 202311L. If not, don't use it.
Not sure the world's quite ready for that; lots of people still build
with older compilers.
To some extent this is a historical accident.
I understand the difference between C and C++ history and behavior. What
I don't understand is why it is desirable for Autoconf to forcibly, and
seemingly arbitrarily, prefer C23 over any other standard
For the same reason Autoconf preferred C89 when it was the latest
standard, or C99 when it was the latest. Historical accident, pretty much.
Anyway, I can see a good argument for adding a new macro or macro option
to get the behavior you want.