[libc++] Implement missing feature-test macro __cpp_lib_shared_ptr_arrays

This was forgotten when we implemented support for arrays in std::shared_ptr
in https://reviews.llvm.org/D62259.
This commit is contained in:
Louis Dionne 2020-12-08 15:45:57 -05:00
parent 3e46b3a188
commit a65dc08d10
5 changed files with 23 additions and 48 deletions

View File

@ -146,7 +146,7 @@ Status
------------------------------------------------- -----------------
``__cpp_lib_shared_mutex`` ``201505L``
------------------------------------------------- -----------------
``__cpp_lib_shared_ptr_arrays`` *unimplemented*
``__cpp_lib_shared_ptr_arrays`` ``201611L``
------------------------------------------------- -----------------
``__cpp_lib_shared_ptr_weak_type`` ``201606L``
------------------------------------------------- -----------------

View File

@ -210,7 +210,7 @@ __cpp_lib_void_t 201411L <type_traits>
# if !defined(_LIBCPP_HAS_NO_THREADS)
# define __cpp_lib_shared_mutex 201505L
# endif
// # define __cpp_lib_shared_ptr_arrays 201611L
# define __cpp_lib_shared_ptr_arrays 201611L
# define __cpp_lib_shared_ptr_weak_type 201606L
# define __cpp_lib_string_view 201606L
// # define __cpp_lib_to_chars 201611L

View File

@ -171,17 +171,11 @@
# error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17"
# endif
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
# error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
# endif
# else // _LIBCPP_VERSION
# ifdef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should not be defined because it is unimplemented in libc++!"
# endif
# ifndef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
# error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
# endif
# ifndef __cpp_lib_shared_ptr_weak_type
@ -267,17 +261,11 @@
# error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++2a"
# endif
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should be defined in c++2a"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
# error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++2a"
# endif
# else // _LIBCPP_VERSION
# ifdef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should not be defined because it is unimplemented in libc++!"
# endif
# ifndef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should be defined in c++2a"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
# error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++2a"
# endif
# ifndef __cpp_lib_shared_ptr_weak_type

View File

@ -1507,17 +1507,11 @@
# endif
# endif
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
# error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
# endif
# else // _LIBCPP_VERSION
# ifdef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should not be defined because it is unimplemented in libc++!"
# endif
# ifndef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
# error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
# endif
# ifndef __cpp_lib_shared_ptr_weak_type
@ -2365,17 +2359,11 @@
# endif
# endif
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should be defined in c++2a"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
# error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++2a"
# endif
# else // _LIBCPP_VERSION
# ifdef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should not be defined because it is unimplemented in libc++!"
# endif
# ifndef __cpp_lib_shared_ptr_arrays
# error "__cpp_lib_shared_ptr_arrays should be defined in c++2a"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
# error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++2a"
# endif
# ifndef __cpp_lib_shared_ptr_weak_type

View File

@ -200,9 +200,8 @@ feature_test_macros = sorted([ add_version_header(x) for x in [
"headers": ["memory"],
}, {
"name": "__cpp_lib_shared_ptr_arrays",
"values": { "c++17": int(201611) },
"values": { "c++17": int(201611) }, # "c++20": int(201707) # Enable this when we support arrays in std::make_shared
"headers": ["memory"],
"unimplemented": True,
}, {
"name": "__cpp_lib_memory_resource",
"values": { "c++17": int(201603) },