Walter pointed out some missing includes in the tests. Fixing the includes uncovered a couple bugs in the _v type traits. Fixed those, too

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@252612 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp b/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
index c87e99c..a53bed9 100644
--- a/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
+++ b/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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
     }
     {
     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 @@
 #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 @@
     }
     {
     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 @@
     }
     {
     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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp
index 4bd072e..72955de 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp
index d720791..97671e7 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp
index 74db44f..481260e 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp
index 6f6c139..de9c146 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp
index 387fa0b..9a1d821 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
index a10e168..86b63c5 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp
index 1df9e34..0e59f71 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp
index 4ca857b..8da411d 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp
index f2bb3cb..19a74b0 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp
index 20efdd5..80f563e 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp
index c1bef59..a901aed 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp
index 9c01d34..b7b5268 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp
index 65c8d79..307fedb 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp
index f25f966..1647666 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp
index 691e353..1c7a32f 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp
index dba2a08..a3f18d5 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp
index e34a930..6a1798a 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp
index 82a49f8..e16337e 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp
index ce34cb6..890da65 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp
index 3961a85..ff7dda3 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp
index b3ce034..e56c8f7 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp
index 9738c29..2b412a6 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
index fbe3661..c0f6bb9 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp
index 19d4337..7f63ae4 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp
+++ b/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 @@
     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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
index 606cd97..5401d95 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp
index 904e851..421f865 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp
index 5d68496..fe2e014 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp
index b0d6b03..7b46eea 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp
index 772d3ea..60d607a 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp
index f9e13d2..410c1db 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp
index c2023bc..baf85e3 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp
index d7b7f16..59aa5e2 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp
+++ b/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 @@
 // 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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp
index 78e2736..613c112 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp
index 0609db7..07c283b 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp
index 9bd1b09..9d629dc 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp
index f2c1d66..c778a5d 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp
index 85e5e4f..01c9bd0 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp
index 7070c59..9dbdc4e 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp
index e661275..c89ac89 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp
index 6f96d73..42c9807 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp
index ee0ba7d..11852f6 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp
+++ b/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 @@
 {
     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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp
index 3686af7..b93dbb6 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
index 1042cae..2ca2b86 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
+++ b/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 @@
     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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp
index 26c1fd1..b66e7a2 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp
index ea28094..94bf7fb 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp
index 1bb8053..6e601c1 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
index ccc226a..2d2df14 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
index 3b89cf8..3ebb9db 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp
index b15ae74..212245f 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
index a7487b2..25429f5 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
index 53259f8..9556959 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
index 9b935d1..c19a29f 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp
index 5d379e4..2d36715 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp
index a0c09d2..9e25070 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
index 8f00da9..eca596e 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
index 477085d..313da17 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp
index 7448109..9ca4243 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp
+++ b/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/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp
index 152b04f..36697a3 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp
+++ b/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()