https://gcc.gnu.org/g:77e84dc4e4e60ec5e7d6d1124e226452aa558108
commit r15-1116-g77e84dc4e4e60ec5e7d6d1124e226452aa558108 Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri Jun 7 17:44:29 2024 +0100 libstdc++: Define __cpp_lib_ranges in <algorithm> The __cpp_lib_ranges macro is missing from <algorithm>. libstdc++-v3/ChangeLog: * include/std/algorithm: Define __glibcxx_want_ranges. * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Check feature test macro in C++20 mode. Diff: --- libstdc++-v3/include/std/algorithm | 1 + .../testsuite/25_algorithms/headers/algorithm/synopsis.cc | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/libstdc++-v3/include/std/algorithm b/libstdc++-v3/include/std/algorithm index a4602a8807e..163e6b5dca7 100644 --- a/libstdc++-v3/include/std/algorithm +++ b/libstdc++-v3/include/std/algorithm @@ -67,6 +67,7 @@ #define __glibcxx_want_constexpr_algorithms #define __glibcxx_want_freestanding_algorithm #define __glibcxx_want_parallel_algorithm +#define __glibcxx_want_ranges #define __glibcxx_want_ranges_contains #define __glibcxx_want_ranges_find_last #define __glibcxx_want_ranges_fold diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc index 8c61a614a47..08a47aa95c3 100644 --- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc +++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc @@ -19,6 +19,14 @@ #include <algorithm> +#if __cplusplus >= 202002L +#ifndef __cpp_lib_ranges +# error "Feature test macro for ranges is missing in <algorithm>" +#elif __cpp_lib_ranges < 201911L +# error "Feature test macro for ranges has wrong value in <algorithm>" +#endif +#endif + namespace std { // 25.1, non-modifying sequence operations: