]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: do not advertise full P2562R1 support
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Wed, 26 Mar 2025 14:30:47 +0000 (15:30 +0100)
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Wed, 26 Mar 2025 17:42:04 +0000 (18:42 +0100)
P2562R1 ("constexpr Stable Sorting") adds constexpr to stable_sort,
stable_partition and inplace_merge. However only the first is already
implemented in libstdc++, so we shouldn't bump the feature-testing
macro to the bumped C++26 value. This commit sets it to one less
than the final value.

Amends r15-7708-gff43f9853d3b10.

libstdc++-v3/ChangeLog:

* include/bits/version.def (constexpr_algorithms): Change
the value of the feature-testing macro.
* include/bits/version.h: Regenerate.
* testsuite/25_algorithms/cpp_lib_constexpr.cc: Amend the
check of the feature-testing macro.

libstdc++-v3/include/bits/version.def
libstdc++-v3/include/bits/version.h
libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc

index 1468c0491b71c4da5a4536324bd734256e817b65..7ef60af39deb6712adc45b31a2ab5b0b30ad3706 100644 (file)
@@ -1117,7 +1117,7 @@ ftms = {
 ftms = {
   name = constexpr_algorithms;
   values = {
-    v = 202306;
+    v = 202305;
     cxxmin = 26;
   };
   values = {
index f7c9849893dacb199dd04a7efa43aba5c785c4f1..a96ff49efa41a35889a1d90ec9edbb966cdb8a3f 100644 (file)
 
 #if !defined(__cpp_lib_constexpr_algorithms)
 # if (__cplusplus >  202302L)
-#  define __glibcxx_constexpr_algorithms 202306L
+#  define __glibcxx_constexpr_algorithms 202305L
 #  if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_algorithms)
-#   define __cpp_lib_constexpr_algorithms 202306L
+#   define __cpp_lib_constexpr_algorithms 202305L
 #  endif
 # elif (__cplusplus >= 202002L)
 #  define __glibcxx_constexpr_algorithms 201806L
index 3f60e9961158be71b7b39c9482aea1acbfc9519b..3e5e55252fcac9995599060dbff4a501a3b15abb 100644 (file)
@@ -23,7 +23,7 @@
 #ifndef __cpp_lib_constexpr_algorithms
 # error "Feature-test macro for constexpr algorithms missing"
 #elif __cplusplus > 202302L
-# if __cpp_lib_constexpr_algorithms < 202306L
+# if __cpp_lib_constexpr_algorithms < 202305L
 #  error "Feature-test macro for constexpr algorithms has wrong value"
 # endif
 #elif __cpp_lib_constexpr_algorithms < 201806L