c++: Replace "C++2a" with "C++20".
C++20 isn't final quite yet, but all that remains is formalities, so let's go ahead and change all the references. I think for the next C++ standard we can just call it C++23 rather than C++2b, since the committee has been consistent about time-based releases rather than feature-based. gcc/c-family/ChangeLog 2020-05-13 Jason Merrill <jason@redhat.com> * c.opt (std=c++20): Make c++2a the alias. (std=gnu++20): Likewise. * c-common.h (cxx_dialect): Change cxx2a to cxx20. * c-opts.c: Adjust. * c-cppbuiltin.c: Adjust. * c-ubsan.c: Adjust. * c-warn.c: Adjust. gcc/cp/ChangeLog 2020-05-13 Jason Merrill <jason@redhat.com> * call.c, class.c, constexpr.c, constraint.cc, decl.c, init.c, lambda.c, lex.c, method.c, name-lookup.c, parser.c, pt.c, tree.c, typeck2.c: Change cxx2a to cxx20. libcpp/ChangeLog 2020-05-13 Jason Merrill <jason@redhat.com> * include/cpplib.h (enum c_lang): Change CXX2A to CXX20. * init.c, lex.c: Adjust.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2020-05-13 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* include/cpplib.h (enum c_lang): Change CXX2A to CXX20.
|
||||
* init.c, lex.c: Adjust.
|
||||
|
||||
2020-05-12 Nathan Sidwell <nathan@acm.org>
|
||||
|
||||
EOF location is at end of file
|
||||
|
||||
+1
-1
@@ -1021,7 +1021,7 @@ ucn_valid_in_identifier (cpp_reader *pfile, cppchar_t c,
|
||||
|
||||
If the hexadecimal value is larger than the upper bound of the UCS
|
||||
codespace specified in ISO/IEC 10646, a pedantic warning is issued
|
||||
in all versions of C and in the C++2a or later versions of C++.
|
||||
in all versions of C and in the C++20 or later versions of C++.
|
||||
|
||||
*PSTR must be preceded by "\u" or "\U"; it is assumed that the
|
||||
buffer end is delimited by a non-hex digit. Returns false if the
|
||||
|
||||
@@ -173,7 +173,7 @@ enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17, CLK_GNUC2X,
|
||||
CLK_STDC2X,
|
||||
CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11,
|
||||
CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX17, CLK_CXX17,
|
||||
CLK_GNUCXX2A, CLK_CXX2A, CLK_ASM};
|
||||
CLK_GNUCXX20, CLK_CXX20, CLK_ASM};
|
||||
|
||||
/* Payload of a NUMBER, STRING, CHAR or COMMENT token. */
|
||||
struct GTY(()) cpp_string {
|
||||
@@ -484,7 +484,7 @@ struct cpp_options
|
||||
/* Nonzero for C2X decimal floating-point constants. */
|
||||
unsigned char dfp_constants;
|
||||
|
||||
/* Nonzero for C++2a __VA_OPT__ feature. */
|
||||
/* Nonzero for C++20 __VA_OPT__ feature. */
|
||||
unsigned char va_opt;
|
||||
|
||||
/* Nonzero for the '::' token. */
|
||||
|
||||
+4
-4
@@ -117,8 +117,8 @@ static const struct lang_flags lang_defaults[] =
|
||||
/* CXX14 */ { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0 },
|
||||
/* GNUCXX17 */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0 },
|
||||
/* CXX17 */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 },
|
||||
/* GNUCXX2A */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0 },
|
||||
/* CXX2A */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0 },
|
||||
/* GNUCXX20 */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0 },
|
||||
/* CXX20 */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0 },
|
||||
/* ASM */ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
@@ -533,8 +533,8 @@ cpp_init_builtins (cpp_reader *pfile, int hosted)
|
||||
|
||||
if (CPP_OPTION (pfile, cplusplus))
|
||||
{
|
||||
if (CPP_OPTION (pfile, lang) == CLK_CXX2A
|
||||
|| CPP_OPTION (pfile, lang) == CLK_GNUCXX2A)
|
||||
if (CPP_OPTION (pfile, lang) == CLK_CXX20
|
||||
|| CPP_OPTION (pfile, lang) == CLK_GNUCXX20)
|
||||
_cpp_define_builtin (pfile, "__cplusplus 201709L");
|
||||
else if (CPP_OPTION (pfile, lang) == CLK_CXX17
|
||||
|| CPP_OPTION (pfile, lang) == CLK_GNUCXX17)
|
||||
|
||||
+3
-3
@@ -1372,7 +1372,7 @@ maybe_va_opt_error (cpp_reader *pfile)
|
||||
system headers. */
|
||||
if (!cpp_in_system_header (pfile))
|
||||
cpp_error (pfile, CPP_DL_PEDWARN,
|
||||
"__VA_OPT__ is not available until C++2a");
|
||||
"__VA_OPT__ is not available until C++20");
|
||||
}
|
||||
else if (!pfile->state.va_args_ok)
|
||||
{
|
||||
@@ -1380,7 +1380,7 @@ maybe_va_opt_error (cpp_reader *pfile)
|
||||
variadic macro. */
|
||||
cpp_error (pfile, CPP_DL_PEDWARN,
|
||||
"__VA_OPT__ can only appear in the expansion"
|
||||
" of a C++2a variadic macro");
|
||||
" of a C++20 variadic macro");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2994,7 +2994,7 @@ _cpp_lex_direct (cpp_reader *pfile)
|
||||
buffer->cur++, result->type = CPP_LESS_EQ;
|
||||
if (*buffer->cur == '>'
|
||||
&& CPP_OPTION (pfile, cplusplus)
|
||||
&& CPP_OPTION (pfile, lang) >= CLK_GNUCXX2A)
|
||||
&& CPP_OPTION (pfile, lang) >= CLK_GNUCXX20)
|
||||
buffer->cur++, result->type = CPP_SPACESHIP;
|
||||
}
|
||||
else if (*buffer->cur == '<')
|
||||
|
||||
+1
-1
@@ -1035,7 +1035,7 @@ _cpp_arguments_ok (cpp_reader *pfile, cpp_macro *macro, const cpp_hashnode *node
|
||||
|
||||
if (argc < macro->paramc)
|
||||
{
|
||||
/* In C++2a (here the va_opt flag is used), and also as a GNU
|
||||
/* In C++20 (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
|
||||
|
||||
Reference in New Issue
Block a user