summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/include/type_traits13
-rw-r--r--libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp44
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp9
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp1
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp1
60 files changed, 94 insertions, 35 deletions
diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits
index c5a24a47af9..576e28f2e65 100644
--- a/libcxx/include/type_traits
+++ b/libcxx/include/type_traits
@@ -3211,8 +3211,8 @@ struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&,
#endif // _LIBCPP_HAS_NO_VARIADICS
#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) && !defined(_LIBCPP_HAS_NO_VARIADICS)
-template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivially_constructible_v
- = is_trivially_constructible<_Tp>::value;
+template <class _Tp, class... _Args> _LIBCPP_CONSTEXPR bool is_trivially_constructible_v
+ = is_trivially_constructible<_Tp, _Args...>::value;
#endif
// is_trivially_default_constructible
@@ -3629,6 +3629,11 @@ template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_copy_assignable
: public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,
typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
+#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
+template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_copy_assignable_v
+ = is_nothrow_copy_assignable<_Tp>::value;
+#endif
+
// is_nothrow_move_assignable
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_move_assignable
@@ -3641,8 +3646,8 @@ template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_move_assignable
{};
#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_copy_assignable_v
- = is_nothrow_copy_assignable<_Tp>::value;
+template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_move_assignable_v
+ = is_nothrow_move_assignable<_Tp>::value;
#endif
// is_nothrow_destructible
diff --git a/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp b/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
index c87e99c46e8..a53bed984c5 100644
--- a/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
@@ -12,12 +12,14 @@
// aligned_storage
#include <type_traits>
+#include <cstddef> // for std::max_align_t
+#include "test_macros.h"
int main()
{
{
typedef std::aligned_storage<10, 1 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<10, 1>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 1, "");
@@ -25,7 +27,7 @@ int main()
}
{
typedef std::aligned_storage<10, 2 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<10, 2>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 2, "");
@@ -33,7 +35,7 @@ int main()
}
{
typedef std::aligned_storage<10, 4 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<10, 4>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 4, "");
@@ -41,7 +43,7 @@ int main()
}
{
typedef std::aligned_storage<10, 8 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<10, 8>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 8, "");
@@ -49,7 +51,7 @@ int main()
}
{
typedef std::aligned_storage<10, 16 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<10, 16>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 16, "");
@@ -57,7 +59,7 @@ int main()
}
{
typedef std::aligned_storage<10, 32 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<10, 32>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 32, "");
@@ -65,7 +67,7 @@ int main()
}
{
typedef std::aligned_storage<20, 32 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<20, 32>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 32, "");
@@ -73,7 +75,7 @@ int main()
}
{
typedef std::aligned_storage<40, 32 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<40, 32>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 32, "");
@@ -81,7 +83,7 @@ int main()
}
{
typedef std::aligned_storage<12, 16 >::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<12, 16>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 16, "");
@@ -89,7 +91,7 @@ int main()
}
{
typedef std::aligned_storage<1>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<1>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 1, "");
@@ -97,7 +99,7 @@ int main()
}
{
typedef std::aligned_storage<2>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<2>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 2, "");
@@ -105,7 +107,7 @@ int main()
}
{
typedef std::aligned_storage<3>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<3>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 2, "");
@@ -113,7 +115,7 @@ int main()
}
{
typedef std::aligned_storage<4>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<4>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 4, "");
@@ -121,7 +123,7 @@ int main()
}
{
typedef std::aligned_storage<5>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<5>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 4, "");
@@ -129,7 +131,7 @@ int main()
}
{
typedef std::aligned_storage<7>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<7>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 4, "");
@@ -137,7 +139,7 @@ int main()
}
{
typedef std::aligned_storage<8>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<8>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 8, "");
@@ -145,7 +147,7 @@ int main()
}
{
typedef std::aligned_storage<9>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<9>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 8, "");
@@ -153,7 +155,7 @@ int main()
}
{
typedef std::aligned_storage<15>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<15>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 8, "");
@@ -167,7 +169,7 @@ int main()
#endif
{
typedef std::aligned_storage<16>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<16>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == alignof(std::max_align_t),
@@ -176,7 +178,7 @@ int main()
}
{
typedef std::aligned_storage<17>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<17>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == alignof(std::max_align_t),
@@ -185,7 +187,7 @@ int main()
}
{
typedef std::aligned_storage<10>::type T1;
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
static_assert(std::is_same<std::aligned_storage_t<10>, T1>::value, "" );
#endif
static_assert(std::alignment_of<T1>::value == 8, "");
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp
index 4bd072efaf5..72955defa39 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp
@@ -12,6 +12,7 @@
// is_array
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp
index d720791f192..97671e7b62e 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp
@@ -12,6 +12,7 @@
// is_class
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp
index 74db44f9cb9..481260ea6e5 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp
@@ -12,6 +12,7 @@
// is_enum
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp
index 6f6c1398f9b..de9c146bcb4 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp
@@ -12,6 +12,7 @@
// is_floating_point
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp
index 387fa0b46c6..9a1d821b074 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp
@@ -12,6 +12,7 @@
// is_function
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
index a10e16852ec..86b63c53da5 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
@@ -12,6 +12,7 @@
// is_integral
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp
index 1df9e340f68..0e59f7153f5 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp
@@ -14,6 +14,7 @@
// UNSUPPORTED: c++98, c++03
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp
index 4ca857b3f3e..8da411d2eee 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp
@@ -12,6 +12,7 @@
// is_member_object_pointer
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp
index f2bb3cbddf6..19a74b01d0f 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp
@@ -12,6 +12,7 @@
// is_member_pointer
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp
index 20efdd56939..80f563e8969 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp
@@ -14,6 +14,7 @@
// UNSUPPORTED: c++98, c++03, c++11
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp
index c1bef593b05..a901aed1143 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp
@@ -12,6 +12,7 @@
// is_pointer
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp
index 9c01d348481..b7b52687018 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp
@@ -14,6 +14,7 @@
// UNSUPPORTED: c++98, c++03
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp
index 65c8d793e5d..307fedb32b2 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp
@@ -12,6 +12,7 @@
// is_union
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp
index f25f966ad4f..1647666adf2 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp
@@ -12,6 +12,7 @@
// is_void
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp
index 691e3536167..1c7a32fc9dc 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp
@@ -13,6 +13,7 @@
// is_null_pointer
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#if _LIBCPP_STD_VER > 11
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp
index dba2a08460a..a3f18d52a70 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp
@@ -12,6 +12,7 @@
// is_arithmetic
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp
index e34a930e568..6a1798ab5ad 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp
@@ -12,6 +12,7 @@
// is_compound
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp
index 82a49f88606..e16337e05f1 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp
@@ -12,6 +12,7 @@
// is_fundamental
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp
index ce34cb6a3dc..890da659e21 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp
@@ -12,6 +12,7 @@
// is_member_pointer
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp
index 3961a855fa8..ff7dda30d11 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp
@@ -12,6 +12,7 @@
// is_object
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp
index b3ce034a4ea..e56c8f76181 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp
@@ -12,6 +12,7 @@
// is_reference
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp
index 9738c297dd4..2b412a68833 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp
@@ -12,6 +12,7 @@
// is_scalar
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
index fbe36618aac..c0f6bb9bdfa 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
@@ -12,6 +12,7 @@
// is_assignable
#include <type_traits>
+#include "test_macros.h"
struct A
{
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp
index 19d43376733..7f63ae40aca 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp
@@ -12,6 +12,7 @@
// is_const
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_const()
@@ -21,7 +22,7 @@ void test_is_const()
static_assert(!std::is_const<volatile T>::value, "");
static_assert( std::is_const<const volatile T>::value, "");
#if TEST_STD_VER > 14
- static_assert(!std::is_const_v<T>::value, "");
+ static_assert(!std::is_const_v<T>, "");
static_assert( std::is_const_v<const T>, "");
static_assert(!std::is_const_v<volatile T>, "");
static_assert( std::is_const_v<const volatile T>, "");
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
index 606cd974c47..5401d95532b 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
@@ -13,6 +13,7 @@
// struct is_constructible;
#include <type_traits>
+#include "test_macros.h"
struct A
{
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp
index 904e8513fc4..421f865a623 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp
@@ -12,6 +12,7 @@
// is_copy_assignable
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_copy_assignable()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp
index 5d684961a6b..fe2e01429b2 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp
@@ -12,6 +12,7 @@
// is_copy_constructible
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_copy_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp
index b0d6b0370e3..7b46eeaab66 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp
@@ -12,6 +12,7 @@
// is_default_constructible
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_default_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp
index 772d3eabb9d..60d607aba61 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp
@@ -12,7 +12,6 @@
// is_destructible
#include <type_traits>
-
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp
index f9e13d265b0..410c1db7244 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp
@@ -12,6 +12,7 @@
// is_empty
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_empty()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp
index c2023bc0bea..baf85e3e813 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp
@@ -12,6 +12,7 @@
// is_final
#include <type_traits>
+#include "test_macros.h"
#if _LIBCPP_STD_VER > 11
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp
index d7b7f16cbe0..59aa5e26a29 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp
@@ -12,6 +12,7 @@
// is_literal_type
#include <type_traits>
+#include <cstddef> // for std::nullptr_t
#include "test_macros.h"
template <class T>
@@ -79,7 +80,7 @@ int main()
// In C++14, cv-void is is a literal type
#if TEST_STD_VER < 14
test_is_not_literal_type<void>();
-#elif TEST_STD_VER > 14
+#else
test_is_literal_type<void>();
#endif
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp
index 78e27368c62..613c1123e3f 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp
@@ -12,6 +12,7 @@
// is_move_assignable
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_move_assignable()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp
index 0609db7e845..07c283bf889 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp
@@ -12,6 +12,7 @@
// is_move_constructible
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_move_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp
index 9bd1b09f26e..9d629dc7ef4 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp
@@ -12,6 +12,7 @@
// is_nothrow_assignable
#include <type_traits>
+#include "test_macros.h"
template <class T, class U>
void test_is_nothrow_assignable()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp
index f2c1d662698..c778a5d24b2 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp
@@ -13,6 +13,7 @@
// struct is_nothrow_constructible;
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_nothrow_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp
index 85e5e4f1d6e..01c9bd0d094 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp
@@ -12,6 +12,7 @@
// is_nothrow_copy_assignable
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_has_nothrow_assign()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp
index 7070c59e399..9dbdc4e2acf 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp
@@ -12,6 +12,7 @@
// is_nothrow_copy_constructible
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_nothrow_copy_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp
index e6612753237..c89ac8944a9 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp
@@ -12,6 +12,7 @@
// is_nothrow_default_constructible
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_nothrow_default_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp
index 6f96d7327b4..42c9807efa8 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp
@@ -12,7 +12,6 @@
// is_nothrow_destructible
#include <type_traits>
-
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp
index ee0ba7d577f..11852f6aec9 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp
@@ -12,6 +12,7 @@
// has_nothrow_move_assign
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_has_nothrow_assign()
@@ -27,7 +28,7 @@ void test_has_not_nothrow_assign()
{
static_assert(!std::is_nothrow_move_assignable<T>::value, "");
#if TEST_STD_VER > 14
- static_assert( std::is_nothrow_move_assignable_v<T>, "");
+ static_assert(!std::is_nothrow_move_assignable_v<T>, "");
#endif
}
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp
index 3686af729a6..b93dbb634e4 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp
@@ -12,6 +12,7 @@
// has_nothrow_move_constructor
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_nothrow_move_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
index 1042cae5f06..2ca2b864014 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
@@ -12,6 +12,7 @@
// is_pod
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_pod()
@@ -36,10 +37,10 @@ void test_is_not_pod()
static_assert(!std::is_pod<volatile T>::value, "");
static_assert(!std::is_pod<const volatile T>::value, "");
#if TEST_STD_VER > 14
- static_assert( std::is_pod_v<T>, "");
- static_assert( std::is_pod_v<const T>, "");
- static_assert( std::is_pod_v<volatile T>, "");
- static_assert( std::is_pod_v<const volatile T>, "");
+ static_assert(!std::is_pod_v<T>, "");
+ static_assert(!std::is_pod_v<const T>, "");
+ static_assert(!std::is_pod_v<volatile T>, "");
+ static_assert(!std::is_pod_v<const volatile T>, "");
#endif
}
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp
index 26c1fd103d8..b66e7a296f3 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp
@@ -12,6 +12,7 @@
// is_polymorphic
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_polymorphic()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp
index ea280940674..94bf7fb5804 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp
@@ -12,6 +12,7 @@
// is_signed
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_signed()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp
index 1bb80532052..6e601c1ac04 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp
@@ -12,6 +12,7 @@
// is_standard_layout
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_standard_layout()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
index ccc226a5c7d..2d2df14d3bb 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
@@ -12,6 +12,7 @@
// is_trivial
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_trivial()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
index 3b89cf89bc1..3ebb9dba429 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
@@ -12,6 +12,7 @@
// is_trivially_assignable
#include <type_traits>
+#include "test_macros.h"
template <class T, class U>
void test_is_trivially_assignable()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp
index b15ae744fc1..212245f0069 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp
@@ -13,6 +13,7 @@
// struct is_trivially_constructible;
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_trivially_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
index a7487b23339..25429f5470e 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
@@ -12,6 +12,7 @@
// is_trivially_copy_assignable
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_has_trivially_copy_assignable()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
index 53259f82803..9556959e126 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
@@ -12,6 +12,7 @@
// is_trivially_copy_constructible
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_trivially_copy_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
index 9b935d1d63b..c19a29ffb58 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
@@ -13,6 +13,7 @@
#include <type_traits>
#include <cassert>
+#include "test_macros.h"
template <class T>
void test_is_trivially_copyable()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp
index 5d379e47cb2..2d367159ca3 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp
@@ -12,6 +12,7 @@
// is_trivially_default_constructible
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_trivially_default_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp
index a0c09d2221e..9e2507067d2 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp
@@ -12,7 +12,6 @@
// is_trivially_destructible
#include <type_traits>
-
#include "test_macros.h"
template <class T>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
index 8f00da99928..eca596ee1c1 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
@@ -12,6 +12,7 @@
// is_trivially_move_assignable
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_has_trivial_assign()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
index 477085dcb77..313da175f71 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
@@ -12,6 +12,7 @@
// is_trivially_move_constructible
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_trivially_move_constructible()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp
index 744810929d4..9ca42432df1 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp
@@ -12,6 +12,7 @@
// is_unsigned
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_unsigned()
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp
index 152b04f4963..36697a3f3eb 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp
@@ -12,6 +12,7 @@
// is_volatile
#include <type_traits>
+#include "test_macros.h"
template <class T>
void test_is_volatile()
OpenPOWER on IntegriCloud