From 719c43316f083ad1cf12c163b59169df58572144 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 23 Jan 2020 19:13:11 +0200 Subject: [PATCH] Disable is_copy_constructible tests on gcc 4.x --- test/variant_copy_construct.cpp | 6 ++++++ test/variant_special.cpp | 9 +++++++++ test/variant_trivial.cpp | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/test/variant_copy_construct.cpp b/test/variant_copy_construct.cpp index d19e9a3..169a2fa 100644 --- a/test/variant_copy_construct.cpp +++ b/test/variant_copy_construct.cpp @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include #include #include @@ -124,8 +126,12 @@ int main() test( v ); } +#if !BOOST_WORKAROUND( __GNUC__, < 5 ) + test( variant() ); +#endif + { BOOST_TEST_TRAIT_TRUE((std::is_nothrow_copy_constructible>)); BOOST_TEST_TRAIT_TRUE((std::is_nothrow_copy_constructible>)); diff --git a/test/variant_special.cpp b/test/variant_special.cpp index 4c012bc..cd6eab8 100644 --- a/test/variant_special.cpp +++ b/test/variant_special.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include using namespace boost::mp11; @@ -90,13 +91,21 @@ struct test { using U = mp_inherit; +#if !BOOST_WORKAROUND( __GNUC__, < 5 ) + BOOST_TEST_EQ( std::is_copy_constructible>::value, std::is_copy_constructible::value ); BOOST_TEST_EQ( std::is_nothrow_copy_constructible>::value, std::is_nothrow_copy_constructible::value ); +#endif + #if !BOOST_WORKAROUND(BOOST_MSVC, < 1910) + BOOST_TEST_EQ( std::is_move_constructible>::value, std::is_move_constructible::value ); + #else + BOOST_TEST_GE( std::is_move_constructible>::value, std::is_move_constructible::value ); + #endif BOOST_TEST_EQ( std::is_nothrow_move_constructible>::value, std::is_nothrow_move_constructible::value ); diff --git a/test/variant_trivial.cpp b/test/variant_trivial.cpp index 1540bc4..361dc0d 100644 --- a/test/variant_trivial.cpp +++ b/test/variant_trivial.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include using namespace boost::mp11; @@ -91,8 +92,13 @@ struct test { using U = mp_inherit; +#if !BOOST_WORKAROUND( __GNUC__, < 5 ) + BOOST_TEST_EQ( v2d::is_trivially_copy_constructible>::value, v2d::is_trivially_copy_constructible::value ); BOOST_TEST_EQ( v2d::is_trivially_copy_assignable>::value, std::is_trivially_destructible::value && v2d::is_trivially_copy_constructible::value && v2d::is_trivially_copy_assignable::value ); + +#endif + BOOST_TEST_EQ( std::is_trivially_destructible>::value, std::is_trivially_destructible::value ); #if !BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000)