diff --git a/include/type_traits b/include/type_traits index c5a24a47a..576e28f2e 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 c87e99c46..a53bed984 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 4bd072efa..72955defa 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 d720791f1..97671e7b6 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 74db44f9c..481260ea6 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 6f6c1398f..de9c146bc 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 387fa0b46..9a1d821b0 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 a10e16852..86b63c53d 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 1df9e340f..0e59f7153 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 4ca857b3f..8da411d2e 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 f2bb3cbdd..19a74b01d 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 20efdd569..80f563e89 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 c1bef593b..a901aed11 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 9c01d3484..b7b526870 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 65c8d793e..307fedb32 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 f25f966ad..1647666ad 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 691e35361..1c7a32fc9 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 dba2a0846..a3f18d52a 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 e34a930e5..6a1798ab5 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 82a49f886..e16337e05 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 ce34cb6a3..890da659e 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 3961a855f..ff7dda30d 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 b3ce034a4..e56c8f761 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 9738c297d..2b412a688 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 fbe36618a..c0f6bb9bd 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 19d433767..7f63ae40a 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 606cd974c..5401d9553 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 904e8513f..421f865a6 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 5d684961a..fe2e01429 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 b0d6b0370..7b46eeaab 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 772d3eabb..60d607aba 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 f9e13d265..410c1db72 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 c2023bc0b..baf85e3e8 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 d7b7f16cb..59aa5e26a 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 78e27368c..613c1123e 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 0609db7e8..07c283bf8 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 9bd1b09f2..9d629dc7e 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 f2c1d6626..c778a5d24 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 85e5e4f1d..01c9bd0d0 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 7070c59e3..9dbdc4e2a 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 e66127532..c89ac8944 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 6f96d7327..42c9807ef 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 ee0ba7d57..11852f6ae 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 3686af729..b93dbb634 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 1042cae5f..2ca2b8640 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 26c1fd103..b66e7a296 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 ea2809406..94bf7fb58 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 1bb805320..6e601c1ac 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 ccc226a5c..2d2df14d3 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 3b89cf89b..3ebb9dba4 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 b15ae744f..212245f00 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 a7487b233..25429f547 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 53259f828..9556959e1 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 9b935d1d6..c19a29ffb 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 5d379e47c..2d367159c 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 a0c09d222..9e2507067 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 8f00da999..eca596ee1 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 477085dcb..313da175f 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 744810929..9ca42432d 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 152b04f49..36697a3f3 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()