https://gcc.gnu.org/g:24ea4539300d4926d9f073822e68f0d2f369452d

commit r15-7838-g24ea4539300d4926d9f073822e68f0d2f369452d
Author: Giuseppe D'Angelo <giuseppe.dang...@kdab.com>
Date:   Wed Mar 5 14:34:41 2025 +0100

    libstdc++: use if consteval in stable_sort
    
    This is a C++ >= 26 codepath for supporting constexpr stable_sort, so we
    know that we have if consteval available; it just needs protection with
    the feature-testing macro. Also merge the return in the same statement.
    Amends r15-7708-gff43f9853d3b10.
    
    libstdc++-v3/ChangeLog:
    
            * include/bits/stl_algo.h (__stable_sort): Use if consteval
            instead of is_constant_evaluated.
    
    Reviewed-by: Jonathan Wakely <jwak...@redhat.com>

Diff:
---
 libstdc++-v3/include/bits/stl_algo.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libstdc++-v3/include/bits/stl_algo.h 
b/libstdc++-v3/include/bits/stl_algo.h
index 41b4d0853b71..c3fea76014cb 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -4987,11 +4987,11 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
        return;
 
 #if _GLIBCXX_HOSTED
-      if (__is_constant_evaluated())
-       {
-         std::__inplace_stable_sort(__first, __last, __comp);
-         return;
-       }
+# if __glibcxx_constexpr_algorithms >= 202306L // >= C++26
+      if consteval {
+       return std::__inplace_stable_sort(__first, __last, __comp);
+      }
+# endif
 
       typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf;
       // __stable_sort_adaptive sorts the range in two halves,

Reply via email to