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

Reply via email to