diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2025-03-05 14:34:41 +0100 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2025-03-05 17:59:18 +0100 |
commit | 24ea4539300d4926d9f073822e68f0d2f369452d (patch) | |
tree | 6de6fef507669e178f0157fa3ba7de119adaebb6 | |
parent | 7e576d5b64ae92432fc2749b8f66105cee8db356 (diff) | |
download | gcc-24ea4539300d4926d9f073822e68f0d2f369452d.zip gcc-24ea4539300d4926d9f073822e68f0d2f369452d.tar.gz gcc-24ea4539300d4926d9f073822e68f0d2f369452d.tar.bz2 |
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 <jwakely@redhat.com>
-rw-r--r-- | libstdc++-v3/include/bits/stl_algo.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index 41b4d08..c3fea76 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, |