W3cubDocs

/C

C23

The next generation of the C standard.

See: The current IS schedule for C23.

Obsolete

Removed

Deprecated

New language features

Feature test macros for optional features

New library features

Defect reports

Defect Reports fixed in C23 (? defects)

Compiler support

C23 core language features

C23 feature
Paper(s)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++
(ex Portland Group/PGI)
Nvidia nvcc
_Static_assert with no message N2265 9 9 Yes
[[nodiscard]] N2267 10 9 Yes
[[maybe_unused]] N2270 10 9 Yes
[[deprecated]] N2334 10 9 Yes
Attributes N2335
N2554
10 9 Yes
IEEE 754 decimal floating-point types N2341 4.2 (partial)* 13.0 (partial)*
[[fallthrough]] N2408 10 9 Yes
u8 character constants N2418 10 15
Removal of function definitions without prototype N2432 10 15
[[nodiscard]] with message N2448 11 10 Yes
Unnamed parameters in function definitions N2480 11 11 Yes
Labels before declarations and end of blocks N2508 11 Partial* 17.0*
Binary integer constants N2549 4.3*
11
2.9*
9
19.0 (2015)** Yes 11.0*
__has_c_attribute in preprocessor conditionals N2553 11 9 Yes
Allow duplicate attributes N2557 11 13 Yes
IEEE 754 interchange and extended types N2601 7 (partial)* 6 (partial)* Partial*
Digit separators N2626 12 13 19.0 (2015)** Yes 18.0*
#elifdef and #elifndef N2645 12 13

13.1.6*

Type change of u8 string literals N2653
[[maybe_unused]] for labels N2662 11
#warning N2686 Yes Yes Yes Yes Yes
Bit-precise integer types (_BitInt) N2763 15
[[noreturn]] N2764 15
Suffixes for bit-precise integer constants N2775 15
__has_include in preprocessor conditionals N2799 5 Yes 19.11* Yes 4.13 18.0
Removal of function declarations without prototype N2841 15
Empty initializers N2900 Partial* Partial* Partial* Partial* Partial*
typeof and typeof_unqual N2927 Partial* Partial* Partial* Partial* Partial* Partial*
Predefined true and false N2935
[[unsequenced]] and [[reproducible]] N2956
Relax requirements for variadic parameter list N2975
Type inference in object definitions N3007
constexpr objects N3008
nullptr N3042
C23 feature
Paper(s)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++
(ex Portland Group/PGI)
Nvidia nvcc

C23 library features

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/23