aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2023-11-07 14:19:36 +0000
committerJoseph Myers <joseph@codesourcery.com>2023-11-07 14:20:30 +0000
commit094a609c69e5608311a39ff66eb646ca3be70652 (patch)
tree075a2dbb50cfd7aa7d20d36a5d91ffd92a2e5995 /libcpp
parentbeb1e2bf1bd4b7c8fc8d3dd450667344ae8e0aca (diff)
downloadgcc-094a609c69e5608311a39ff66eb646ca3be70652.zip
gcc-094a609c69e5608311a39ff66eb646ca3be70652.tar.gz
gcc-094a609c69e5608311a39ff66eb646ca3be70652.tar.bz2
c: Refer more consistently to C23 not C2X
Continuing the move to refer to C23 in place of C2X throughout the source tree, update documentation, diagnostics, comments, variable and function names, etc., to use the C23 name. Testsuite updates are left for a future patch, except for testcases that test diagnostics that previously mentioned C2X (but in those testcases, sometimes other comments are updated, not just the diagnostic expectations). Bootstrapped with no regressions for x86_64-pc-linux-gnu. gcc/ * builtins.def (DEF_C2X_BUILTIN): Rename to DEF_C23_BUILTIN and use flag_isoc23 and function_c23_misc. * config/rl78/rl78.cc (rl78_option_override): Compare lang_hooks.name with "GNU C23" not "GNU C2X". * coretypes.h (function_c2x_misc): Rename to function_c23_misc. * doc/cpp.texi (@code{__has_attribute}): Refer to C23 instead of C2x. * doc/extend.texi: Likewise. * doc/invoke.texi: Likewise. * dwarf2out.cc (highest_c_language, gen_compile_unit_die): Compare against and return "GNU C23" language string instead of "GNU C2X". * ginclude/float.h: Refer to C23 instead of C2X in comments. * ginclude/stdint-gcc.h: Likewise. * glimits.h: Likewise. * tree.h: Likewise. gcc/ada/ * gcc-interface/utils.cc (flag_isoc2x): Rename to flag_isoc23. gcc/c-family/ * c-common.cc (flag_isoc2x): Rename to flag_isoc23. (c_common_reswords): Use D_C23 instead of D_C2X. * c-common.h: Refer throughout to C23 instead of C2X in comments. (D_C2X): Rename to D_C23. (flag_isoc2x): Rename to flag_isoc23. * c-cppbuiltin.cc (builtin_define_float_constants): Use flag_isoc23 instead of flag_isoc2x. Refer to C23 instead of C2x in comments. * c-format.cc: Use STD_C23 instead of STD_C2X and flag_isoc23 instead of flag_isoc2x. Refer to C23 instead of C2X in comments. * c-format.h: Use STD_C23 instead of STD_C2X. * c-lex.cc: Use warn_c11_c23_compat instead of warn_c11_c2x_compat and flag_isoc23 instead of flag_isoc2x. Refer to C23 instead of C2X in diagnostics. * c-opts.cc: Use flag_isoc23 instead of flag_isoc2x. Refer to C23 instead of C2X in comments. (set_std_c2x): Rename to set_std_c23. * c.opt (Wc11-c23-compat): Use CPP(cpp_warn_c11_c23_compat) CppReason(CPP_W_C11_C23_COMPAT) Var(warn_c11_c23_compat) instead of CPP(cpp_warn_c11_c2x_compat) CppReason(CPP_W_C11_C2X_COMPAT) Var(warn_c11_c2x_compat). gcc/c/ * c-decl.cc: Use flag_isoc23 instead of flag_isoc2x and c23_auto_p instead of c2x_auto_p. Refer to C23 instead of C2X in diagnostics and comments. * c-errors.cc: Use flag_isoc23 instead of flag_isoc2x and warn_c11_c23_compat instead of warn_c11_c2x_compat. Refer to C23 instead of C2X in comments. * c-parser.cc: Use flag_isoc23 instead of flag_isoc2x, warn_c11_c23_compat instead of warn_c11_c2x_compat, c23_auto_p instead of c2x_auto_p and D_C23 instead of D_C2X. Refer to C23 instead of C2X in diagnostics and comments. * c-tree.h: Refer to C23 instead of C2X in comments. (struct c_declspecs): Rename c2x_auto_p to c23_auto_p. * c-typeck.cc: Use flag_isoc23 instead of flag_isoc2x and warn_c11_c23_compat instead of warn_c11_c2x_compat. Refer to C23 instead of C2X in diagnostics and comments. gcc/fortran/ * gfortran.h (gfc_real_info): Refer to C23 instead of C2X in comment. gcc/lto/ * lto-lang.cc (flag_isoc2x): Rename to flag_isoc23. gcc/testsuite/ * gcc.dg/binary-constants-2.c: Refer to C23 instead of C2X. * gcc.dg/binary-constants-3.c: Likewise. * gcc.dg/bitint-23.c: Likewise. * gcc.dg/bitint-26.c: Likewise. * gcc.dg/bitint-27.c: Likewise. * gcc.dg/c11-attr-syntax-1.c: Likewise. * gcc.dg/c11-attr-syntax-2.c: Likewise. * gcc.dg/c11-floatn-1.c: Likewise. * gcc.dg/c11-floatn-2.c: Likewise. * gcc.dg/c11-floatn-3.c: Likewise. * gcc.dg/c11-floatn-4.c: Likewise. * gcc.dg/c11-floatn-5.c: Likewise. * gcc.dg/c11-floatn-6.c: Likewise. * gcc.dg/c11-floatn-7.c: Likewise. * gcc.dg/c11-floatn-8.c: Likewise. * gcc.dg/c2x-attr-syntax-4.c: Likewise. * gcc.dg/c2x-attr-syntax-6.c: Likewise. * gcc.dg/c2x-attr-syntax-7.c: Likewise. * gcc.dg/c2x-binary-constants-2.c: Likewise. * gcc.dg/c2x-floatn-5.c: Likewise. * gcc.dg/c2x-floatn-6.c: Likewise. * gcc.dg/c2x-floatn-7.c: Likewise. * gcc.dg/c2x-floatn-8.c: Likewise. * gcc.dg/c2x-nullptr-4.c: Likewise. * gcc.dg/c2x-qual-2.c: Likewise. * gcc.dg/c2x-qual-3.c: Likewise. * gcc.dg/c2x-qual-6.c: Likewise. * gcc.dg/cpp/c11-warning-1.c: Likewise. * gcc.dg/cpp/c11-warning-2.c: Likewise. * gcc.dg/cpp/c11-warning-3.c: Likewise. * gcc.dg/cpp/c2x-warning-2.c: Likewise. * gcc.dg/cpp/gnu11-elifdef-3.c: Likewise. * gcc.dg/cpp/gnu11-elifdef-4.c: Likewise. * gcc.dg/cpp/gnu11-warning-1.c: Likewise. * gcc.dg/cpp/gnu11-warning-2.c: Likewise. * gcc.dg/cpp/gnu11-warning-3.c: Likewise. * gcc.dg/cpp/gnu2x-warning-2.c: Likewise. * gcc.dg/dfp/c11-constants-1.c: Likewise. * gcc.dg/dfp/c11-constants-2.c: Likewise. * gcc.dg/dfp/c2x-constants-2.c: Likewise. * gcc.dg/dfp/constants-pedantic.c: Likewise. * gcc.dg/pr30260.c: Likewise. * gcc.dg/system-binary-constants-1.c: Likewise. libcpp/ * directives.cc: Refer to C23 instead of C2X in diagnostics and comments. (STDC2X): Rename to STDC23. * expr.cc: Use cpp_warn_c11_c23_compat instead of cpp_warn_c11_c2x_compat and CPP_W_C11_C23_COMPAT instead of CPP_W_C11_C2X_COMPAT. Refer to C23 instead of C2X in diagnostics and comments. * include/cpplib.h: Refer to C23 instead of C2X in diagnostics and comments. (CLK_GNUC2X): Rename to CLK_GNUC23. (CLK_STDC2X): Rename to CLK_STDC23. (CPP_W_C11_C2X_COMPAT): Rename to CPP_W_C11_C23_COMPAT. * init.cc: Use GNUC23 instead of GNUC2X, STDC23 instead of STDC2X and cpp_warn_c11_c23_compat instead of cpp_warn_c11_c2x_compat. * lex.cc (maybe_va_opt_error): Refer to C23 instead of C2X in diagnostic. * macro.cc (_cpp_arguments_ok): Refer to C23 instead of C2X in comment.
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/directives.cc22
-rw-r--r--libcpp/expr.cc30
-rw-r--r--libcpp/include/cpplib.h14
-rw-r--r--libcpp/init.cc10
-rw-r--r--libcpp/lex.cc2
-rw-r--r--libcpp/macro.cc2
6 files changed, 40 insertions, 40 deletions
diff --git a/libcpp/directives.cc b/libcpp/directives.cc
index c5c938f..02b9112 100644
--- a/libcpp/directives.cc
+++ b/libcpp/directives.cc
@@ -56,11 +56,11 @@ struct pragma_entry
/* Values for the origin field of struct directive. KANDR directives
come from traditional (K&R) C. STDC89 directives come from the
- 1989 C standard. STDC2X directives come from the C2X standard. EXTENSION
+ 1989 C standard. STDC23 directives come from the C23 standard. EXTENSION
directives are extensions. */
#define KANDR 0
#define STDC89 1
-#define STDC2X 2
+#define STDC23 2
#define EXTENSION 3
/* Values for the flags field of struct directive. COND indicates a
@@ -154,11 +154,11 @@ static void cpp_pop_definition (cpp_reader *, struct def_pragma_macro *);
D(undef, T_UNDEF, KANDR, IN_I) \
D(line, T_LINE, KANDR, EXPAND) \
D(elif, T_ELIF, STDC89, COND | EXPAND) \
- D(elifdef, T_ELIFDEF, STDC2X, COND | ELIFDEF) \
- D(elifndef, T_ELIFNDEF, STDC2X, COND | ELIFDEF) \
+ D(elifdef, T_ELIFDEF, STDC23, COND | ELIFDEF) \
+ D(elifndef, T_ELIFNDEF, STDC23, COND | ELIFDEF) \
D(error, T_ERROR, STDC89, 0) \
D(pragma, T_PRAGMA, STDC89, IN_I) \
- D(warning, T_WARNING, STDC2X, 0) \
+ D(warning, T_WARNING, STDC23, 0) \
D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) \
D(ident, T_IDENT, EXTENSION, IN_I) \
D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* ObjC */ \
@@ -394,11 +394,11 @@ directive_diagnostics (cpp_reader *pfile, const directive *dir, int indented)
"#%s before C++23 is a GCC extension", dir->name);
else
cpp_error (pfile, CPP_DL_PEDWARN,
- "#%s before C2X is a GCC extension", dir->name);
+ "#%s before C23 is a GCC extension", dir->name);
}
- else if (CPP_OPTION (pfile, cpp_warn_c11_c2x_compat) > 0)
- cpp_warning (pfile, CPP_W_C11_C2X_COMPAT,
- "#%s before C2X is a GCC extension", dir->name);
+ else if (CPP_OPTION (pfile, cpp_warn_c11_c23_compat) > 0)
+ cpp_warning (pfile, CPP_W_C11_C23_COMPAT,
+ "#%s before C23 is a GCC extension", dir->name);
}
else if (((dir->flags & DEPRECATED) != 0
|| (dir == &dtable[T_IMPORT] && !CPP_OPTION (pfile, objc)))
@@ -2164,7 +2164,7 @@ do_elif (cpp_reader *pfile)
pfile->directive->name);
else
cpp_error (pfile, CPP_DL_PEDWARN,
- "#%s before C2X is a GCC extension",
+ "#%s before C23 is a GCC extension",
pfile->directive->name);
}
pfile->state.skipping = 1;
@@ -2203,7 +2203,7 @@ do_elif (cpp_reader *pfile)
pfile->directive->name);
else
cpp_error (pfile, CPP_DL_PEDWARN,
- "#%s before C2X is a GCC extension",
+ "#%s before C23 is a GCC extension",
pfile->directive->name);
}
pfile->state.skipping = skip;
diff --git a/libcpp/expr.cc b/libcpp/expr.cc
index 338395a..825d2c2 100644
--- a/libcpp/expr.cc
+++ b/libcpp/expr.cc
@@ -97,7 +97,7 @@ interpret_float_suffix (cpp_reader *pfile, const uchar *s, size_t len)
f = d = l = w = q = i = fn = fnx = fn_bits = bf16 = 0;
/* The following decimal float suffixes, from TR 24732:2009, TS
- 18661-2:2015 and C2X, are supported:
+ 18661-2:2015 and C23, are supported:
df, DF - _Decimal32.
dd, DD - _Decimal64.
@@ -787,11 +787,11 @@ cpp_classify_number (cpp_reader *pfile, const cpp_token *token,
{
if (CPP_PEDANTIC (pfile) && !CPP_OPTION (pfile, dfp_constants))
cpp_error_with_line (pfile, CPP_DL_PEDWARN, virtual_location, 0,
- "decimal float constants are a C2X feature");
- else if (CPP_OPTION (pfile, cpp_warn_c11_c2x_compat) > 0)
- cpp_warning_with_line (pfile, CPP_W_C11_C2X_COMPAT,
+ "decimal float constants are a C23 feature");
+ else if (CPP_OPTION (pfile, cpp_warn_c11_c23_compat) > 0)
+ cpp_warning_with_line (pfile, CPP_W_C11_C23_COMPAT,
virtual_location, 0,
- "decimal float constants are a C2X feature");
+ "decimal float constants are a C23 feature");
}
result |= CPP_N_FLOATING;
@@ -857,23 +857,23 @@ cpp_classify_number (cpp_reader *pfile, const cpp_token *token,
}
if ((result & CPP_N_BITINT) != 0
- && CPP_OPTION (pfile, cpp_warn_c11_c2x_compat) != 0)
+ && CPP_OPTION (pfile, cpp_warn_c11_c23_compat) != 0)
{
- if (CPP_OPTION (pfile, cpp_warn_c11_c2x_compat) > 0)
+ if (CPP_OPTION (pfile, cpp_warn_c11_c23_compat) > 0)
{
const char *message = N_("ISO C does not support literal "
- "%<wb%> suffixes before C2X");
+ "%<wb%> suffixes before C23");
if (CPP_PEDANTIC (pfile) && !CPP_OPTION (pfile, true_false))
- cpp_pedwarning_with_line (pfile, CPP_W_C11_C2X_COMPAT,
+ cpp_pedwarning_with_line (pfile, CPP_W_C11_C23_COMPAT,
virtual_location, 0, message);
else
- cpp_warning_with_line (pfile, CPP_W_C11_C2X_COMPAT,
+ cpp_warning_with_line (pfile, CPP_W_C11_C23_COMPAT,
virtual_location, 0, message);
}
else if (CPP_PEDANTIC (pfile) && !CPP_OPTION (pfile, true_false))
{
const char *message = N_("ISO C does not support literal "
- "%<wb%> suffixes before C2X");
+ "%<wb%> suffixes before C23");
cpp_error_with_line (pfile, CPP_DL_PEDWARN, virtual_location, 0,
message);
}
@@ -894,12 +894,12 @@ cpp_classify_number (cpp_reader *pfile, const cpp_token *token,
CPP_OPTION (pfile, cplusplus)
? N_("binary constants are a C++14 feature "
"or GCC extension")
- : N_("binary constants are a C2X feature "
+ : N_("binary constants are a C23 feature "
"or GCC extension"));
- else if (CPP_OPTION (pfile, cpp_warn_c11_c2x_compat) > 0)
- cpp_warning_with_line (pfile, CPP_W_C11_C2X_COMPAT,
+ else if (CPP_OPTION (pfile, cpp_warn_c11_c23_compat) > 0)
+ cpp_warning_with_line (pfile, CPP_W_C11_C23_COMPAT,
virtual_location, 0,
- "binary constants are a C2X feature");
+ "binary constants are a C23 feature");
}
if (radix == 10)
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index d873897..54814f3 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -169,9 +169,9 @@ enum cpp_ttype
#undef TK
/* C language kind, used when calling cpp_create_reader. */
-enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17, CLK_GNUC2X,
+enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17, CLK_GNUC23,
CLK_STDC89, CLK_STDC94, CLK_STDC99, CLK_STDC11, CLK_STDC17,
- CLK_STDC2X,
+ CLK_STDC23,
CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11,
CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX17, CLK_CXX17,
CLK_GNUCXX20, CLK_CXX20, CLK_GNUCXX23, CLK_CXX23,
@@ -514,7 +514,7 @@ struct cpp_options
/* Nonzero for C++ 2014 Standard digit separators. */
unsigned char digit_separators;
- /* Nonzero for C2X decimal floating-point constants. */
+ /* Nonzero for C23 decimal floating-point constants. */
unsigned char dfp_constants;
/* Nonzero for C++20 __VA_OPT__ feature. */
@@ -563,8 +563,8 @@ struct cpp_options
/* True if warn about differences between C90 and C99. */
signed char cpp_warn_c90_c99_compat;
- /* True if warn about differences between C11 and C2X. */
- signed char cpp_warn_c11_c2x_compat;
+ /* True if warn about differences between C11 and C23. */
+ signed char cpp_warn_c11_c23_compat;
/* True if warn about differences between C++98 and C++11. */
bool cpp_warn_cxx11_compat;
@@ -692,7 +692,7 @@ enum cpp_warning_reason {
CPP_W_DATE_TIME,
CPP_W_PEDANTIC,
CPP_W_C90_C99_COMPAT,
- CPP_W_C11_C2X_COMPAT,
+ CPP_W_C11_C23_COMPAT,
CPP_W_CXX11_COMPAT,
CPP_W_CXX20_COMPAT,
CPP_W_EXPANSION_TO_DEFINED,
@@ -1302,7 +1302,7 @@ struct cpp_num
#define CPP_N_SIZE_T 0x2000000 /* C++23 size_t literal. */
#define CPP_N_BFLOAT16 0x4000000 /* std::bfloat16_t type. */
-#define CPP_N_BITINT 0x8000000 /* C2X _BitInt literal. */
+#define CPP_N_BITINT 0x8000000 /* C23 _BitInt literal. */
#define CPP_N_WIDTH_FLOATN_NX 0xF0000000 /* _FloatN / _FloatNx value
of N, divided by 16. */
diff --git a/libcpp/init.cc b/libcpp/init.cc
index 18a7f04..250a02a 100644
--- a/libcpp/init.cc
+++ b/libcpp/init.cc
@@ -108,13 +108,13 @@ static const struct lang_flags lang_defaults[] =
/* GNUC99 */ { 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },
/* GNUC11 */ { 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },
/* GNUC17 */ { 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },
- /* GNUC2X */ { 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
+ /* GNUC23 */ { 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
/* STDC89 */ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* STDC94 */ { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* STDC99 */ { 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* STDC11 */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* STDC17 */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
- /* STDC2X */ { 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
+ /* STDC23 */ { 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1 },
/* GNUCXX */ { 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1 },
/* CXX98 */ { 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1 },
/* GNUCXX11 */ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1 },
@@ -210,7 +210,7 @@ cpp_create_reader (enum c_lang lang, cpp_hash_table *table,
CPP_OPTION (pfile, warn_trigraphs) = 2;
CPP_OPTION (pfile, warn_endif_labels) = 1;
CPP_OPTION (pfile, cpp_warn_c90_c99_compat) = -1;
- CPP_OPTION (pfile, cpp_warn_c11_c2x_compat) = -1;
+ CPP_OPTION (pfile, cpp_warn_c11_c23_compat) = -1;
CPP_OPTION (pfile, cpp_warn_cxx11_compat) = 0;
CPP_OPTION (pfile, cpp_warn_cxx20_compat) = 0;
CPP_OPTION (pfile, cpp_warn_deprecated) = 1;
@@ -590,8 +590,8 @@ cpp_init_builtins (cpp_reader *pfile, int hosted)
_cpp_define_builtin (pfile, "__ASSEMBLER__ 1");
else if (CPP_OPTION (pfile, lang) == CLK_STDC94)
_cpp_define_builtin (pfile, "__STDC_VERSION__ 199409L");
- else if (CPP_OPTION (pfile, lang) == CLK_STDC2X
- || CPP_OPTION (pfile, lang) == CLK_GNUC2X)
+ else if (CPP_OPTION (pfile, lang) == CLK_STDC23
+ || CPP_OPTION (pfile, lang) == CLK_GNUC23)
_cpp_define_builtin (pfile, "__STDC_VERSION__ 202000L");
else if (CPP_OPTION (pfile, lang) == CLK_STDC17
|| CPP_OPTION (pfile, lang) == CLK_GNUC17)
diff --git a/libcpp/lex.cc b/libcpp/lex.cc
index 5ca438a..0b1b936 100644
--- a/libcpp/lex.cc
+++ b/libcpp/lex.cc
@@ -2144,7 +2144,7 @@ maybe_va_opt_error (cpp_reader *pfile)
"__VA_OPT__ is not available until C++20");
else
cpp_error (pfile, CPP_DL_PEDWARN,
- "__VA_OPT__ is not available until C2X");
+ "__VA_OPT__ is not available until C23");
}
}
else if (!pfile->state.va_args_ok)
diff --git a/libcpp/macro.cc b/libcpp/macro.cc
index dada8fe..a1a134a 100644
--- a/libcpp/macro.cc
+++ b/libcpp/macro.cc
@@ -1093,7 +1093,7 @@ _cpp_arguments_ok (cpp_reader *pfile, cpp_macro *macro, const cpp_hashnode *node
if (argc < macro->paramc)
{
- /* In C++20 and C2X (here the va_opt flag is used), and also as a GNU
+ /* In C++20 and C23 (here the va_opt flag is used), and also as a GNU
extension, variadic arguments are allowed to not appear in
the invocation at all.
e.g. #define debug(format, args...) something