C23 status on cppreference

Jakub Jelinek jakub@redhat.com
Wed Oct 16 11:27:45 GMT 2024


Hi!

https://en.cppreference.com/w/c/compiler_support
has a table with compiler support for C23.
I've added #embed and [[unsequenced]]/[[reproducible]] in there
yesterday, but am wondering about the accuracy of the rest.

Given the switch to -std=gnu23 preparation, I wonder what is still
unimplemented in GCC 15.
The cppreference page mentions as unimplemented on the GCC side
N2653 - Type change of u8 string literals
and as only partially implemented
N2341 - IEEE 754 decimal floating-point types
N2601 - IEEE 754 interchange and extended types
N2900 - Empty initializers
N2934 - New spelling of keywords
N3033 - __VA_OPT__
with following comments in the wiki source:
N2341: Only TR 24732 mentioned; some requirements in core language missing
N2601: Only TS 18661-3 mentioned; the status of conformance is unknown
N2900: missing support for scalars and VLAs

Are some of the papers/features known to be fully implemented (since which
version)?  E.g. for __VA_OPT__ I remember doing (and Jason too) various fixes
in the past few years, like PR89971, PR103415, PR101488.  Not really sure
what exactly C23 requires.

	Jakub



More information about the Gcc mailing list