diff --git a/include/boost/type_traits/intrinsics.hpp b/include/boost/type_traits/intrinsics.hpp index 5c86bcc..0ecf0ea 100644 --- a/include/boost/type_traits/intrinsics.hpp +++ b/include/boost/type_traits/intrinsics.hpp @@ -109,8 +109,8 @@ // # define BOOST_ALIGNMENT_OF(T) __alignof(T) # if defined(_MSC_VER) && (_MSC_VER >= 1700) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__has_trivial_move_constructor(T) || ( ::boost::is_pod::value && !::boost::is_volatile::value)) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__has_trivial_move_assign(T) || ( ::boost::is_pod::value && ! ::boost::is_const::value && !::boost::is_volatile::value)) +# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || ::boost::is_pod::value) && !::boost::is_volatile::value) +# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || ::boost::is_pod::value) (&& ! ::boost::is_const::value && !::boost::is_volatile::value)) # endif # define BOOST_HAS_TYPE_TRAITS_INTRINSICS diff --git a/test/is_polymorphic_test.cpp b/test/is_polymorphic_test.cpp index c73a1d5..7426be8 100644 --- a/test/is_polymorphic_test.cpp +++ b/test/is_polymorphic_test.cpp @@ -20,6 +20,10 @@ #include // more things to test #endif +#if defined(BOOST_MSVC) && (_MSC_VER >= 1700) +#pragma warning(disable:4250) +#endif + // this test was added to check for bug reported on 21 May 2003: struct poly_bug { virtual int foo() = 0; };