[clang] Alias iso9899:2024 to C23, update documentation (#138459)
This commit is contained in:
@@ -146,6 +146,15 @@ Language Selection and Mode Options
|
||||
|
||||
ISO C 2017 with GNU extensions
|
||||
|
||||
| ``c23``
|
||||
| ``iso9899:2024``
|
||||
|
||||
ISO C 2023
|
||||
|
||||
| ``gnu23``
|
||||
|
||||
ISO C 2023 with GNU extensions
|
||||
|
||||
The default C language standard is ``gnu17``, except on PS4, where it is
|
||||
``gnu99``.
|
||||
|
||||
|
||||
@@ -241,6 +241,7 @@ C2y Feature Support
|
||||
|
||||
C23 Feature Support
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
- Clang now accepts ``-std=iso9899:2024`` as an alias for C23.
|
||||
- Added ``__builtin_c23_va_start()`` for compatibility with GCC and to enable
|
||||
better diagnostic behavior for the ``va_start()`` macro in C23 and later.
|
||||
This also updates the definition of ``va_start()`` in ``<stdarg.h>`` to use
|
||||
|
||||
@@ -89,15 +89,14 @@ LANGSTANDARD_ALIAS(gnu17, "gnu18")
|
||||
|
||||
// C23 modes
|
||||
LANGSTANDARD(c23, "c23",
|
||||
C, "Working Draft for ISO C23",
|
||||
C, "ISO C 2023",
|
||||
LineComment | C99 | C11 | C17 | C23 | Digraphs | HexFloat)
|
||||
LANGSTANDARD_ALIAS(c23, "iso9899:2024")
|
||||
LANGSTANDARD_ALIAS_DEPR(c23, "c2x")
|
||||
LANGSTANDARD(gnu23, "gnu23",
|
||||
C, "Working Draft for ISO C23 with GNU extensions",
|
||||
C, "ISO C 2023 with GNU extensions",
|
||||
LineComment | C99 | C11 | C17 | C23 | Digraphs | GNUMode | HexFloat)
|
||||
LANGSTANDARD_ALIAS_DEPR(gnu23, "gnu2x")
|
||||
// FIXME: Add the alias for iso9899:202* once we know the year ISO publishes
|
||||
// the document (expected to be 2024).
|
||||
|
||||
// C2y modes
|
||||
LANGSTANDARD(c2y, "c2y",
|
||||
|
||||
@@ -15,11 +15,10 @@
|
||||
// CHECK-NEXT: note: use 'gnu11' for 'ISO C 2011 with GNU extensions' standard
|
||||
// CHECK-NEXT: note: use 'c17', 'iso9899:2017', 'c18', or 'iso9899:2018' for 'ISO C 2017' standard
|
||||
// CHECK-NEXT: note: use 'gnu17' or 'gnu18' for 'ISO C 2017 with GNU extensions' standard
|
||||
// CHECK-NEXT: note: use 'c23' for 'Working Draft for ISO C23' standard
|
||||
// CHECK-NEXT: note: use 'gnu23' for 'Working Draft for ISO C23 with GNU extensions' standard
|
||||
// CHECK-NEXT: note: use 'c23' or 'iso9899:2024' for 'ISO C 2023' standard
|
||||
// CHECK-NEXT: note: use 'gnu23' for 'ISO C 2023 with GNU extensions' standard
|
||||
// CHECK-NEXT: note: use 'c2y' for 'Working Draft for ISO C2y' standard
|
||||
// CHECK-NEXT: note: use 'gnu2y' for 'Working Draft for ISO C2y with GNU extensions' standard
|
||||
|
||||
// Make sure that no other output is present.
|
||||
// CHECK-NOT: {{^.+$}}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user