C23 Features
Following is the status and version of compiler support for C23 Features:
Language Feature | Standard # | ICX 2023.2 (oneAPI 2023.2) | ICX 2024.0 (oneAPI 2024.0) | |
---|---|---|---|---|
Harmonizing static_assert with C++ | N2665 | Yes | Yes | |
nodiscard attribute | N2267 | Yes | Yes | |
maybe_unused attribute | N2270 | Yes | Yes | |
TS 18661 Integration: Remove conditional “WANT” macros from numbered clauses | N2359 | No | No | |
Preprocessor line numbers unspecified | N2322 | Partial | Partial | |
deprecated attribute | N2334 | Yes | Yes | |
Attribute: Adding attribute | N2335 | Yes | Yes | |
Attribite: Minor attribute wording cleanups | N2554 | Yes | Yes | |
Defining new types in offsetof | N2350 | Yes | Yes | |
fallthrough attribute | N2408 | Yes | Yes | |
Two's complement sign representation | N2412 | Yes | Yes | |
Adding the u8 character prefix | N2418 | Yes | Yes | |
Remove support for function definitions with identifier lists | N2432 | Yes | Yes | |
[[nodiscard("should have a reason")]] | N2448 | Yes | Yes | |
Allowing unnamed parameters in function definitions | N2480 | Yes | Yes | |
Free positioning of labels inside compound statements | N2508 | Yes | Yes | |
Clarification request for C17 example of undefined behavior | N2517 | No | No | |
Querying attribute support | N2553 | Yes | Yes | |
Binary literals | N2549 | Yes | Yes | |
Allow duplicate attributes | N2557 | Yes | Yes | |
Character encoding of diagnostic text | N2563 | Yes | Yes | |
What we think we reserve | N2572 | Partial | Partial | |
Remove mixed wide string literal concatenation | N2594 | Yes | Yes | |
Compatibility of Pointers to Arrays with Qualifiers | N2607 | Partial | Partial | |
Unclear type relationship between a format specifier and its argument | N2562 | Yes | Yes | |
String functions for freestanding implementations | N2524 | No | No | |
Digit separators | N2626 | Yes | Yes | |
Missing +(x) in table | N2641 | Yes | Yes | |
Add support for preprocessing directives elifdef and elifndef | N2645 | Yes | Yes | |
[[maybe_unused]] for labels | N2662 | Yes | Yes | |
Zeros compare equal | N2670 | Yes | Yes | |
Negative values | N2671 | Yes | Yes | |
5.2.4.2.2 cleanup | N2672 | Yes | Yes | |
Adding Fundamental Type for N-bit Integers | N2763 | Yes | Yes | |
Adding Fundamental Type for N-bit Integers: Literal suffixes for bit-precise integers | N2775 | Yes | Yes | |
Adding Fundamental Type for N-bit Integers: bit-precise bit-fields | N2969 | Yes | Yes | |
#warning directive | N2686 | Yes | Yes | |
Sterile characters | N2686 | Yes | Yes | |
Integer constant expressions | N2713 | No | No | |
Numerically equal | N2716 | Yes | Yes | |
__has_include for C | N2799 | Yes | Yes | |
Annex F overflow and underflow | N2747 | Yes | Yes | |
Remove UB from Incomplete Types in Function Parameters | N2770 | Yes | Yes | |
Variably-modified types | N2778 | Yes | Yes | |
Types do not have types | N2781 | Yes | Yes | |
5.2.4.2.2 cleanup (N2672 update) | N2806 | Yes | Yes | |
Allow 16-bit ptrdiff_t | N2808 | Yes | Yes | |
Clarifying integer terms | N2837 | Yes | Yes | |
Require exact-width integer type interfaces | N2872 | Yes | Yes | |
@, $, and ‘ in the source/execution character set | N2701 | Yes | Yes | |
The noreturn attribute | N2764 | Yes | Yes | |
*_HAS_SUBNORM==0 implies what? | N2797 | Yes | Yes | |
Add annotations for unreachable control flow v2 | N2826 | Yes | Yes | |
Unicode Sequences More Than 21 Bits are a Constraint Violation r0 | N2828 | Yes | Yes | |
Make assert() macro user friendly for C and C++ v2 | N2829 | No | No | |
Identifier Syntax using Unicode Standard Annex 31 | N2836 | Yes | Yes | |
No function declarators without prototypes | N2841 | Yes | Yes | |
Revised Suggestions of Change for Numerically Equal/Equivalent | N2847 | Yes | Yes | |
5.2.4.2.2 Cleanup, Again Again (N2806 update) | N2879 | Yes | Yes | |
char8_t: A type for UTF-8 characters and strings | N2653 | No | No | |
Consistent, Warningless, and Intuitive Initialization with {} | N2900 | No | Yes | |
Compound Literals with Empty Initializers | N3011 | No | Yes | |
Not-so-magic - typeof for C | N2927 | Yes | Yes | |
Consider renaming remove_quals | N2930 | Yes | Yes | |
Revice spelling of keywords v7 | N2934 | Yes | Yes | |
Make false and true first-class language features v8 | N2935 | Yes | Yes | |
Properly define blocks as part of the grammar v3 | N2937 | Yes | Yes | |
Annex X (replacing Annex H) for IEC 60559 interchange | N2601 | No | No | |
Indeterminate Values and Trap Representations | N2861 | Yes | Yes | |
Remove ATOMIC_VAR_INIT v2 | N2886 | Yes | Yes | |
Require exact-width integer type interfaces v2 | N2888 | Yes | Yes | |
Wording Change for Variably-Modified Types | N2992 | Yes | Yes | |
Remove trigraphs??! | N2940 | Yes | Yes | |
Relax requirements for variadic parameter lists, V3 | N2975 | Yes | Yes | |
Unsequenced functions | N2956 | No | No | |
Type inference for object declarations | N3007 | No | No | |
constexpr for object definitions | N3018 | No | No | |
Introduce storage class specifiers for compound literals | N3038 | No | No | |
Identifier primary expressions | N3034 | Yes | Yes | |
Introduce the nullptr constant | N3042 | Partial | Yes | |
Memory layout of unions | N2929 | Yes | Yes | |
Improved tag compatibility | N3037 | No | No | |
#embed | N3017 | No | No |