[gcc r15-8933] libstdc++: do not advertise full P2562R1 support
Giuseppe D'Angelo
peppe@gcc.gnu.org
Wed Mar 26 17:43:16 GMT 2025
https://gcc.gnu.org/g:a264c270fde292678893493fec0d0dd01ee5c4ec
commit r15-8933-ga264c270fde292678893493fec0d0dd01ee5c4ec
Author: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Date: Wed Mar 26 15:30:47 2025 +0100
libstdc++: do not advertise full P2562R1 support
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.
Diff:
---
libstdc++-v3/include/bits/version.def | 2 +-
libstdc++-v3/include/bits/version.h | 4 ++--
libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libstdc++-v3/include/bits/version.def b/libstdc++-v3/include/bits/version.def
index 1468c0491b71..7ef60af39deb 100644
--- a/libstdc++-v3/include/bits/version.def
+++ b/libstdc++-v3/include/bits/version.def
@@ -1117,7 +1117,7 @@ ftms = {
ftms = {
name = constexpr_algorithms;
values = {
- v = 202306;
+ v = 202305;
cxxmin = 26;
};
values = {
diff --git a/libstdc++-v3/include/bits/version.h b/libstdc++-v3/include/bits/version.h
index f7c9849893da..a96ff49efa41 100644
--- a/libstdc++-v3/include/bits/version.h
+++ b/libstdc++-v3/include/bits/version.h
@@ -1257,9 +1257,9 @@
#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
diff --git a/libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc
index 3f60e9961158..3e5e55252fca 100644
--- a/libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc
@@ -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
More information about the Gcc-cvs
mailing list