From: Giuseppe D'Angelo Date: Wed, 5 Mar 2025 13:34:41 +0000 (+0100) Subject: libstdc++: use if consteval in stable_sort X-Git-Tag: basepoints/gcc-16~1715 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24ea4539300d4926d9f073822e68f0d2f369452d;p=thirdparty%2Fgcc.git 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 --- diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index 41b4d0853b7..c3fea76014c 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,