[libcxx-commits] [libcxx] 3d4b7a6 - [libc++] Add FTM for views::as_rvalue
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Feb 25 09:27:03 PST 2023
Author: Nikolas Klauser
Date: 2023-02-25T18:26:57+01:00
New Revision: 3d4b7a6fa8a45488c141a8640cd53980bdb868e5
URL: https://github.com/llvm/llvm-project/commit/3d4b7a6fa8a45488c141a8640cd53980bdb868e5
DIFF: https://github.com/llvm/llvm-project/commit/3d4b7a6fa8a45488c141a8640cd53980bdb868e5.diff
LOG: [libc++] Add FTM for views::as_rvalue
`views::as_rvalue` was implemented in D137637, but we forgot to set the feature test macro.
Fixes #60986.
Reviewed By: Mordante, #libc
Spies: libcxx-commits, arichardson
Differential Revision: https://reviews.llvm.org/D144781
Added:
Modified:
libcxx/docs/FeatureTestMacroTable.rst
libcxx/include/version
libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
libcxx/utils/generate_feature_test_macro_components.py
Removed:
################################################################################
diff --git a/libcxx/docs/FeatureTestMacroTable.rst b/libcxx/docs/FeatureTestMacroTable.rst
index d070e209d2acd..f68384dda92dd 100644
--- a/libcxx/docs/FeatureTestMacroTable.rst
+++ b/libcxx/docs/FeatureTestMacroTable.rst
@@ -332,6 +332,8 @@ Status
------------------------------------------------- -----------------
``__cpp_lib_out_ptr`` *unimplemented*
------------------------------------------------- -----------------
+ ``__cpp_lib_ranges_as_rvalue`` ``202207L``
+ ------------------------------------------------- -----------------
``__cpp_lib_ranges_chunk`` *unimplemented*
------------------------------------------------- -----------------
``__cpp_lib_ranges_chunk_by`` *unimplemented*
diff --git a/libcxx/include/version b/libcxx/include/version
index 3a58f0248a032..aa759c7994940 100644
--- a/libcxx/include/version
+++ b/libcxx/include/version
@@ -139,6 +139,7 @@ __cpp_lib_polymorphic_allocator 201902L <memory_resource
__cpp_lib_quoted_string_io 201304L <iomanip>
__cpp_lib_ranges 202106L <algorithm> <functional> <iterator>
<memory> <ranges>
+__cpp_lib_ranges_as_rvalue 202207L <ranges>
__cpp_lib_ranges_chunk 202202L <ranges>
__cpp_lib_ranges_chunk_by 202202L <ranges>
__cpp_lib_ranges_iota 202202L <numeric>
@@ -401,6 +402,7 @@ __cpp_lib_void_t 201411L <type_traits>
# undef __cpp_lib_optional
# define __cpp_lib_optional 202110L
// # define __cpp_lib_out_ptr 202106L
+# define __cpp_lib_ranges_as_rvalue 202207L
// # define __cpp_lib_ranges_chunk 202202L
// # define __cpp_lib_ranges_chunk_by 202202L
// # define __cpp_lib_ranges_iota 202202L
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
index be51d6d40771e..581875d6cd299 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
@@ -17,6 +17,7 @@
/* Constant Value
__cpp_lib_ranges 202106L [C++20]
+ __cpp_lib_ranges_as_rvalue 202207L [C++2b]
__cpp_lib_ranges_chunk 202202L [C++2b]
__cpp_lib_ranges_chunk_by 202202L [C++2b]
__cpp_lib_ranges_join_with 202202L [C++2b]
@@ -33,6 +34,10 @@
# error "__cpp_lib_ranges should not be defined before c++20"
# endif
+# ifdef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
+# endif
+
# ifdef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif
@@ -59,6 +64,10 @@
# error "__cpp_lib_ranges should not be defined before c++20"
# endif
+# ifdef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
+# endif
+
# ifdef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif
@@ -85,6 +94,10 @@
# error "__cpp_lib_ranges should not be defined before c++20"
# endif
+# ifdef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
+# endif
+
# ifdef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif
@@ -114,6 +127,10 @@
# error "__cpp_lib_ranges should have the value 202106L in c++20"
# endif
+# ifdef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
+# endif
+
# ifdef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif
@@ -143,6 +160,13 @@
# error "__cpp_lib_ranges should have the value 202106L in c++2b"
# endif
+# ifndef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should be defined in c++2b"
+# endif
+# if __cpp_lib_ranges_as_rvalue != 202207L
+# error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++2b"
+# endif
+
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should be defined in c++2b"
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
index 19735a40cd289..d23270edf14d1 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
@@ -128,6 +128,7 @@
__cpp_lib_polymorphic_allocator 201902L [C++20]
__cpp_lib_quoted_string_io 201304L [C++14]
__cpp_lib_ranges 202106L [C++20]
+ __cpp_lib_ranges_as_rvalue 202207L [C++2b]
__cpp_lib_ranges_chunk 202202L [C++2b]
__cpp_lib_ranges_chunk_by 202202L [C++2b]
__cpp_lib_ranges_iota 202202L [C++2b]
@@ -621,6 +622,10 @@
# error "__cpp_lib_ranges should not be defined before c++20"
# endif
+# ifdef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
+# endif
+
# ifdef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif
@@ -1295,6 +1300,10 @@
# error "__cpp_lib_ranges should not be defined before c++20"
# endif
+# ifdef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
+# endif
+
# ifdef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif
@@ -2134,6 +2143,10 @@
# error "__cpp_lib_ranges should not be defined before c++20"
# endif
+# ifdef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
+# endif
+
# ifdef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif
@@ -3240,6 +3253,10 @@
# error "__cpp_lib_ranges should have the value 202106L in c++20"
# endif
+# ifdef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
+# endif
+
# ifdef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif
@@ -4493,6 +4510,13 @@
# error "__cpp_lib_ranges should have the value 202106L in c++2b"
# endif
+# ifndef __cpp_lib_ranges_as_rvalue
+# error "__cpp_lib_ranges_as_rvalue should be defined in c++2b"
+# endif
+# if __cpp_lib_ranges_as_rvalue != 202207L
+# error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++2b"
+# endif
+
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_ranges_chunk
# error "__cpp_lib_ranges_chunk should be defined in c++2b"
diff --git a/libcxx/utils/generate_feature_test_macro_components.py b/libcxx/utils/generate_feature_test_macro_components.py
index 11705bdc41d1b..39af3bec170bf 100755
--- a/libcxx/utils/generate_feature_test_macro_components.py
+++ b/libcxx/utils/generate_feature_test_macro_components.py
@@ -534,6 +534,10 @@ def add_version_header(tc):
"name": "__cpp_lib_ranges",
"values": { "c++20": 202106 },
"headers": ["algorithm", "functional", "iterator", "memory", "ranges"],
+ }, {
+ "name": "__cpp_lib_ranges_as_rvalue",
+ "values": { "c++2b": 202207 },
+ "headers": ["ranges"],
}, {
"name": "__cpp_lib_ranges_chunk",
"values": { "c++2b": 202202 },
More information about the libcxx-commits
mailing list