Author: Nikolas Klauser Date: 2023-02-28T09:20:37+01:00 New Revision: 54dee0b10c4ebdbf913f6638f49d1dc9dc8eaea4
URL: https://github.com/llvm/llvm-project/commit/54dee0b10c4ebdbf913f6638f49d1dc9dc8eaea4 DIFF: https://github.com/llvm/llvm-project/commit/54dee0b10c4ebdbf913f6638f49d1dc9dc8eaea4.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 (cherry picked from commit 3d4b7a6fa8a45488c141a8640cd53980bdb868e5) 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 b46fc8c0c4baa..556994a67d1d8 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 9705229a1c522..28c4a50cdab7a 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 9c1816bbce518..fb5710c8e2e29 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 @@ -4505,6 +4522,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 69cb94272de87..5775a71e88c44 100755 --- a/libcxx/utils/generate_feature_test_macro_components.py +++ b/libcxx/utils/generate_feature_test_macro_components.py @@ -536,6 +536,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 }, _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits