diff --git a/include/type_traits b/include/type_traits index c5a24a47..576e28f2 100644 --- a/include/type_traits +++ b/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 _LIBCPP_CONSTEXPR bool is_trivially_constructible_v - = is_trivially_constructible<_Tp>::value; +template _LIBCPP_CONSTEXPR bool is_trivially_constructible_v + = is_trivially_constructible<_Tp, _Args...>::value; #endif // is_trivially_default_constructible @@ -3629,6 +3629,11 @@ template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_copy_assignable : public is_nothrow_assignable::type, typename add_lvalue_reference::type>::type> {}; +#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) +template _LIBCPP_CONSTEXPR bool is_nothrow_copy_assignable_v + = is_nothrow_copy_assignable<_Tp>::value; +#endif + // is_nothrow_move_assignable template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_move_assignable @@ -3641,8 +3646,8 @@ template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_move_assignable {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_nothrow_copy_assignable_v - = is_nothrow_copy_assignable<_Tp>::value; +template _LIBCPP_CONSTEXPR bool is_nothrow_move_assignable_v + = is_nothrow_move_assignable<_Tp>::value; #endif // is_nothrow_destructible 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 c87e99c4..a53bed98 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 +#include // 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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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, T1>::value, "" ); #endif static_assert(std::alignment_of::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 4bd072ef..72955def 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 d720791f..97671e7b 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 74db44f9..481260ea 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 6f6c1398..de9c146b 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 387fa0b4..9a1d821b 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 a10e1685..86b63c53 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 1df9e340..0e59f715 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 4ca857b3..8da411d2 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 f2bb3cbd..19a74b01 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 20efdd56..80f563e8 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 c1bef593..a901aed1 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 9c01d348..b7b52687 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 65c8d793..307fedb3 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 f25f966a..1647666a 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 691e3536..1c7a32fc 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 +#include // for std::nullptr_t #if _LIBCPP_STD_VER > 11 template 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 dba2a084..a3f18d52 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 e34a930e..6a1798ab 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 82a49f88..e16337e0 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 ce34cb6a..890da659 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 3961a855..ff7dda30 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 b3ce034a..e56c8f76 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 9738c297..2b412a68 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 +#include // for std::nullptr_t #include "test_macros.h" template 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 fbe36618..c0f6bb9b 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 +#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 19d43376..7f63ae40 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 +#include "test_macros.h" template void test_is_const() @@ -21,7 +22,7 @@ void test_is_const() static_assert(!std::is_const::value, ""); static_assert( std::is_const::value, ""); #if TEST_STD_VER > 14 - static_assert(!std::is_const_v::value, ""); + static_assert(!std::is_const_v, ""); static_assert( std::is_const_v, ""); static_assert(!std::is_const_v, ""); static_assert( std::is_const_v, ""); 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 606cd974..5401d955 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 +#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 904e8513..421f865a 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 +#include "test_macros.h" template 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 5d684961..fe2e0142 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 +#include "test_macros.h" template 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 b0d6b037..7b46eeaa 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 +#include "test_macros.h" template 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 772d3eab..60d607ab 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 - #include "test_macros.h" template 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 f9e13d26..410c1db7 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 +#include "test_macros.h" template 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 c2023bc0..baf85e3e 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 +#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 d7b7f16c..59aa5e26 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 +#include // for std::nullptr_t #include "test_macros.h" template @@ -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(); -#elif TEST_STD_VER > 14 +#else test_is_literal_type(); #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 78e27368..613c1123 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 +#include "test_macros.h" template 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 0609db7e..07c283bf 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 +#include "test_macros.h" template 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 9bd1b09f..9d629dc7 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 +#include "test_macros.h" template 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 f2c1d662..c778a5d2 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 +#include "test_macros.h" template 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 85e5e4f1..01c9bd0d 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 +#include "test_macros.h" template 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 7070c59e..9dbdc4e2 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 +#include "test_macros.h" template 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 e6612753..c89ac894 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 +#include "test_macros.h" template 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 6f96d732..42c9807e 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 - #include "test_macros.h" template 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 ee0ba7d5..11852f6a 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 +#include "test_macros.h" template void test_has_nothrow_assign() @@ -27,7 +28,7 @@ void test_has_not_nothrow_assign() { static_assert(!std::is_nothrow_move_assignable::value, ""); #if TEST_STD_VER > 14 - static_assert( std::is_nothrow_move_assignable_v, ""); + static_assert(!std::is_nothrow_move_assignable_v, ""); #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 3686af72..b93dbb63 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 +#include "test_macros.h" template 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 1042cae5..2ca2b864 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 +#include "test_macros.h" template void test_is_pod() @@ -36,10 +37,10 @@ void test_is_not_pod() static_assert(!std::is_pod::value, ""); static_assert(!std::is_pod::value, ""); #if TEST_STD_VER > 14 - static_assert( std::is_pod_v, ""); - static_assert( std::is_pod_v, ""); - static_assert( std::is_pod_v, ""); - static_assert( std::is_pod_v, ""); + static_assert(!std::is_pod_v, ""); + static_assert(!std::is_pod_v, ""); + static_assert(!std::is_pod_v, ""); + static_assert(!std::is_pod_v, ""); #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 26c1fd10..b66e7a29 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 +#include "test_macros.h" template 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 ea280940..94bf7fb5 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 +#include "test_macros.h" template 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 1bb80532..6e601c1a 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 +#include "test_macros.h" template 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 ccc226a5..2d2df14d 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 +#include "test_macros.h" template 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 3b89cf89..3ebb9dba 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 +#include "test_macros.h" template 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 b15ae744..212245f0 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 +#include "test_macros.h" template 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 a7487b23..25429f54 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 +#include "test_macros.h" template 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 53259f82..9556959e 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 +#include "test_macros.h" template 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 9b935d1d..c19a29ff 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 #include +#include "test_macros.h" template 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 5d379e47..2d367159 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 +#include "test_macros.h" template 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 a0c09d22..9e250706 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 - #include "test_macros.h" template 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 8f00da99..eca596ee 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 +#include "test_macros.h" template 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 477085dc..313da175 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 +#include "test_macros.h" template 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 74481092..9ca42432 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 +#include "test_macros.h" template 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 152b04f4..36697a3f 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 +#include "test_macros.h" template void test_is_volatile()