The C++ committee just updated the values of these macros to reflect some late C++20 papers that we implement but others don't yet; see PR103891.
Tested x86_64-pc-linux-gnu, applying to trunk. gcc/c-family/ChangeLog: * c-cppbuiltin.cc (c_cpp_builtins): Update values of __cpp_constexpr and __cpp_concepts for C++20. gcc/testsuite/ChangeLog: * g++.dg/cpp23/feat-cxx2b.C: Adjust. * g++.dg/cpp2a/feat-cxx2a.C: Adjust. --- gcc/c-family/c-cppbuiltin.cc | 4 ++-- gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C | 4 ++-- gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc index 528211cf50e..4672ae8486a 100644 --- a/gcc/c-family/c-cppbuiltin.cc +++ b/gcc/c-family/c-cppbuiltin.cc @@ -1059,7 +1059,7 @@ c_cpp_builtins (cpp_reader *pfile) cpp_define (pfile, "__cpp_generic_lambdas=201707L"); cpp_define (pfile, "__cpp_designated_initializers=201707L"); if (cxx_dialect <= cxx20) - cpp_define (pfile, "__cpp_constexpr=201907L"); + cpp_define (pfile, "__cpp_constexpr=202002L"); cpp_define (pfile, "__cpp_constexpr_in_decltype=201711L"); cpp_define (pfile, "__cpp_conditional_explicit=201806L"); cpp_define (pfile, "__cpp_consteval=201811L"); @@ -1084,7 +1084,7 @@ c_cpp_builtins (cpp_reader *pfile) if (flag_concepts) { if (cxx_dialect >= cxx20) - cpp_define (pfile, "__cpp_concepts=201907L"); + cpp_define (pfile, "__cpp_concepts=202002L"); else cpp_define (pfile, "__cpp_concepts=201507L"); } diff --git a/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C b/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C index 923e6bcf65e..c1f91e78e66 100644 --- a/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C +++ b/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C @@ -528,8 +528,8 @@ #ifndef __cpp_concepts # error "__cpp_concepts" -#elif __cpp_concepts != 201907 -# error "__cpp_concepts != 201907" +#elif __cpp_concepts != 202002 +# error "__cpp_concepts != 202002" #endif #ifndef __cpp_using_enum diff --git a/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C b/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C index 3239df824fc..c65ea6bf48a 100644 --- a/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C +++ b/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C @@ -134,8 +134,8 @@ #ifndef __cpp_constexpr # error "__cpp_constexpr" -#elif __cpp_constexpr != 201907 -# error "__cpp_constexpr != 201907" +#elif __cpp_constexpr != 202002 +# error "__cpp_constexpr != 202002" #endif #ifndef __cpp_decltype_auto @@ -528,8 +528,8 @@ #ifndef __cpp_concepts # error "__cpp_concepts" -#elif __cpp_concepts != 201907 -# error "__cpp_concepts != 201907" +#elif __cpp_concepts != 202002 +# error "__cpp_concepts != 202002" #endif #ifndef __cpp_using_enum base-commit: 59b31f0e2d187ebdb3d399661e22b28e4ebd8099 -- 2.27.0