summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/language.support
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2018-12-14 18:49:35 +0000
committerMarshall Clow <mclow.lists@gmail.com>2018-12-14 18:49:35 +0000
commitf60c63c090114a6b5f0ba0a7aacd67e6c92920e7 (patch)
tree17e10b3f0bbd3a373498bbe621f9036bdd176e32 /libcxx/test/std/language.support
parentb7e2d6e4931b88fc5c84358a1fa7a9d3dffbecbc (diff)
downloadbcm5719-llvm-f60c63c090114a6b5f0ba0a7aacd67e6c92920e7.tar.gz
bcm5719-llvm-f60c63c090114a6b5f0ba0a7aacd67e6c92920e7.zip
Implement P1209 - Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20. Reviewed as https://reviews.llvm.org/D55532
llvm-svn: 349178
Diffstat (limited to 'libcxx/test/std/language.support')
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.pass.cpp11
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.pass.cpp11
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/list.version.pass.cpp11
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/map.version.pass.cpp11
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/set.version.pass.cpp11
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/string.version.pass.cpp11
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.pass.cpp12
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.pass.cpp11
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.pass.cpp11
9 files changed, 100 insertions, 0 deletions
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.pass.cpp
index d3ca7d9b02c..188d2f3c0ac 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_nonmember_container_access 201411L
*/
@@ -24,6 +25,16 @@ int main()
{
// ensure that the macros that are supposed to be defined in <deque> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
/*
#if !defined(__cpp_lib_fooby)
# error "__cpp_lib_fooby is not defined"
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.pass.cpp
index 73c8462ca3f..9b44f6e2c46 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_incomplete_container_elements 201505L
__cpp_lib_list_remove_return_type 201806L
__cpp_lib_nonmember_container_access 201411L
@@ -26,6 +27,16 @@ int main()
{
// ensure that the macros that are supposed to be defined in <forward_list> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
/*
#if !defined(__cpp_lib_fooby)
# error "__cpp_lib_fooby is not defined"
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/list.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/list.version.pass.cpp
index 3db7995633f..e6e65655b92 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/list.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/list.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_incomplete_container_elements 201505L
__cpp_lib_list_remove_return_type 201806L
__cpp_lib_nonmember_container_access 201411L
@@ -26,6 +27,16 @@ int main()
{
// ensure that the macros that are supposed to be defined in <list> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
/*
#if !defined(__cpp_lib_fooby)
# error "__cpp_lib_fooby is not defined"
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/map.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/map.version.pass.cpp
index ffcc003e3a0..e7dbf7d20f0 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/map.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/map.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_generic_associative_lookup 201304L
__cpp_lib_map_try_emplace 201411L
__cpp_lib_node_extract 201606L
@@ -27,6 +28,16 @@ int main()
{
// ensure that the macros that are supposed to be defined in <map> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
/*
#if !defined(__cpp_lib_fooby)
# error "__cpp_lib_fooby is not defined"
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/set.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/set.version.pass.cpp
index 96918031d37..716eae6d9f0 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/set.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/set.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_generic_associative_lookup 201304L
__cpp_lib_node_extract 201606L
__cpp_lib_nonmember_container_access 201411L
@@ -26,6 +27,16 @@ int main()
{
// ensure that the macros that are supposed to be defined in <set> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
/*
#if !defined(__cpp_lib_fooby)
# error "__cpp_lib_fooby is not defined"
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/string.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/string.version.pass.cpp
index 2f408b9886e..87e8c8f96c3 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/string.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/string.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_char8_t 201811L
__cpp_lib_nonmember_container_access 201411L
__cpp_lib_string_udls 201304L
@@ -27,6 +28,16 @@ int main()
{
// ensure that the macros that are supposed to be defined in <string> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
#if TEST_STD_VER > 17 && defined(__cpp_char8_t)
# if !defined(__cpp_lib_char8_t)
LIBCPP_STATIC_ASSERT(false, "__cpp_lib_char8_t is not defined");
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.pass.cpp
index 38e01171731..d23a91a3091 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_node_extract 201606L
__cpp_lib_nonmember_container_access 201411L
__cpp_lib_unordered_map_try_emplace 201411L
@@ -26,6 +27,17 @@ int main()
{
// ensure that the macros that are supposed to be defined in <unordered_map> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
+
/*
#if !defined(__cpp_lib_fooby)
# error "__cpp_lib_fooby is not defined"
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.pass.cpp
index 762a07c372a..c4dbed14b9c 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_node_extract 201606L
__cpp_lib_nonmember_container_access 201411L
@@ -25,6 +26,16 @@ int main()
{
// ensure that the macros that are supposed to be defined in <unordered_set> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
/*
#if !defined(__cpp_lib_fooby)
# error "__cpp_lib_fooby is not defined"
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.pass.cpp
index 9932a61c56d..e7cb1942c0b 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.pass.cpp
@@ -12,6 +12,7 @@
/* Constant Value
__cpp_lib_allocator_traits_is_always_equal 201411L
+ __cpp_lib_erase_if 201811L
__cpp_lib_incomplete_container_elements 201505L
__cpp_lib_nonmember_container_access 201411L
@@ -25,6 +26,16 @@ int main()
{
// ensure that the macros that are supposed to be defined in <vector> are defined.
+#if TEST_STD_VER > 17
+# if !defined(__cpp_lib_erase_if)
+ LIBCPP_STATIC_ASSERT(false, "__cpp_lib_erase_if is not defined");
+# else
+# if __cpp_lib_erase_if < 201811L
+# error "__cpp_lib_erase_if has an invalid value"
+# endif
+# endif
+#endif
+
/*
#if !defined(__cpp_lib_fooby)
# error "__cpp_lib_fooby is not defined"
OpenPOWER on IntegriCloud