diff --git a/include/boost/type_traits/is_abstract.hpp b/include/boost/type_traits/is_abstract.hpp index b6d640c..e8e2db4 100755 --- a/include/boost/type_traits/is_abstract.hpp +++ b/include/boost/type_traits/is_abstract.hpp @@ -85,7 +85,14 @@ struct is_abstract_imp2 #ifdef __GNUC__ BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(is_abstract_imp2::template check_sig(0))); #else +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) +#pragma warning(push) +#pragma warning(disable:6334) +#endif BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig(0))); +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) +#pragma warning(pop) +#endif #endif BOOST_STATIC_CONSTANT(bool, value = diff --git a/include/boost/type_traits/is_base_and_derived.hpp b/include/boost/type_traits/is_base_and_derived.hpp index 2cff64e..28f0c80 100644 --- a/include/boost/type_traits/is_base_and_derived.hpp +++ b/include/boost/type_traits/is_base_and_derived.hpp @@ -129,6 +129,10 @@ struct bd_helper template struct is_base_and_derived_impl2 { +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) +#pragma warning(push) +#pragma warning(disable:6334) +#endif // // May silently do the wrong thing with incomplete types // unless we trap them here: @@ -148,6 +152,9 @@ struct is_base_and_derived_impl2 BOOST_STATIC_CONSTANT(bool, value = sizeof(bd_helper::check_sig(Host(), 0)) == sizeof(type_traits::yes_type)); +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) +#pragma warning(pop) +#endif }; #else diff --git a/include/boost/type_traits/is_convertible.hpp b/include/boost/type_traits/is_convertible.hpp index 5ad740e..3a14755 100644 --- a/include/boost/type_traits/is_convertible.hpp +++ b/include/boost/type_traits/is_convertible.hpp @@ -249,7 +249,7 @@ struct is_convertible_basic_impl static From _m_from; #ifdef BOOST_MSVC #pragma warning(push) -#pragma warning(disable:4244) +#pragma warning(disable:4244 6334) #endif BOOST_STATIC_CONSTANT(bool, value = sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type) diff --git a/include/boost/type_traits/is_function.hpp b/include/boost/type_traits/is_function.hpp index 8fd2c9e..89323f0 100644 --- a/include/boost/type_traits/is_function.hpp +++ b/include/boost/type_traits/is_function.hpp @@ -62,11 +62,18 @@ struct is_function_impl template struct is_function_impl { +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) +#pragma warning(push) +#pragma warning(disable:6334) +#endif static T* t; BOOST_STATIC_CONSTANT( bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t)) == sizeof(::boost::type_traits::yes_type) ); +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) +#pragma warning(pop) +#endif }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) diff --git a/include/boost/type_traits/is_member_function_pointer.hpp b/include/boost/type_traits/is_member_function_pointer.hpp index 5b32385..01d76e5 100644 --- a/include/boost/type_traits/is_member_function_pointer.hpp +++ b/include/boost/type_traits/is_member_function_pointer.hpp @@ -62,6 +62,10 @@ struct is_mem_fun_pointer_select { template struct result_ { +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) +#pragma warning(push) +#pragma warning(disable:6334) +#endif static T* make_t; typedef result_ self_type; @@ -69,6 +73,9 @@ struct is_mem_fun_pointer_select bool, value = ( 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t)) )); +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) +#pragma warning(pop) +#endif }; };