From: Giuseppe D'Angelo Date: Wed, 26 Mar 2025 14:30:47 +0000 (+0100) Subject: libstdc++: do not advertise full P2562R1 support X-Git-Tag: basepoints/gcc-16~620 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a264c270fde292678893493fec0d0dd01ee5c4ec;p=thirdparty%2Fgcc.git 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 --git a/libstdc++-v3/include/bits/version.def b/libstdc++-v3/include/bits/version.def index 1468c0491b7..7ef60af39de 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 f7c9849893d..a96ff49efa4 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 3f60e996115..3e5e55252fc 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