[gcc r15-1116] libstdc++: Define __cpp_lib_ranges in <algorithm>
Jonathan Wakely
redi@gcc.gnu.org
Sat Jun 8 14:52:13 GMT 2024
https://gcc.gnu.org/g:77e84dc4e4e60ec5e7d6d1124e226452aa558108
commit r15-1116-g77e84dc4e4e60ec5e7d6d1124e226452aa558108
Author: Jonathan Wakely <jwakely@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:
More information about the Gcc-cvs
mailing list