diff --git a/include/boost/type_traits/is_constructible.hpp b/include/boost/type_traits/is_constructible.hpp index 0918b38..2017317 100644 --- a/include/boost/type_traits/is_constructible.hpp +++ b/include/boost/type_traits/is_constructible.hpp @@ -12,7 +12,7 @@ #include #include -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500) #include #include diff --git a/include/boost/type_traits/is_default_constructible.hpp b/include/boost/type_traits/is_default_constructible.hpp index 769e360..51b681d 100644 --- a/include/boost/type_traits/is_default_constructible.hpp +++ b/include/boost/type_traits/is_default_constructible.hpp @@ -12,7 +12,7 @@ #include #include -#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) +#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500) #include diff --git a/test/has_trivial_move_assign_test.cpp b/test/has_trivial_move_assign_test.cpp index 7fe05e3..242c92f 100644 --- a/test/has_trivial_move_assign_test.cpp +++ b/test/has_trivial_move_assign_test.cpp @@ -22,7 +22,7 @@ struct non_copyable_movable non_copyable_movable(const non_copyable_movable&) = delete; non_copyable_movable& operator=(const non_copyable_movable&) = delete; //non_copyable_movable(non_copyable_movable&&) = default; -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1800) +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1800) || BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500) non_copyable_movable& operator=(non_copyable_movable&& o) { val = std::move(o.val); diff --git a/test/has_trivial_move_constructor_test.cpp b/test/has_trivial_move_constructor_test.cpp index c34c834..fe227f4 100644 --- a/test/has_trivial_move_constructor_test.cpp +++ b/test/has_trivial_move_constructor_test.cpp @@ -21,7 +21,7 @@ struct non_copyable_movable non_copyable_movable(int); non_copyable_movable(const non_copyable_movable&) = delete; non_copyable_movable& operator=(const non_copyable_movable&) = delete; -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1800) +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1800) || BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500) non_copyable_movable(non_copyable_movable&& o) : val(o.val){} non_copyable_movable& operator=(non_copyable_movable&& o) {