diff mbox series

[committed] libstdc++: Define __cpp_lib_ranges in <algorithm>

Message ID 20240608145233.456617-1-jwakely@redhat.com
State New
Headers show
Series [committed] libstdc++: Define __cpp_lib_ranges in <algorithm> | expand

Commit Message

Jonathan Wakely June 8, 2024, 2:52 p.m. UTC
Tested x86_64-linux. Pushed to trunk.

-- >8 --

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.
---
 libstdc++-v3/include/std/algorithm                        | 1 +
 .../testsuite/25_algorithms/headers/algorithm/synopsis.cc | 8 ++++++++
 2 files changed, 9 insertions(+)
diff mbox series

Patch

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: