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:

Reply via email to