Index: boost/variant/detail/visitation_impl.hpp =================================================================== --- boost/variant/detail/visitation_impl.hpp (revision 53461) +++ boost/variant/detail/visitation_impl.hpp (working copy) @@ -35,6 +35,10 @@ #include "boost/type_traits/has_nothrow_copy.hpp" #include "boost/variant/detail/has_nothrow_move.hpp" +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +# pragma warning (push) +# pragma warning (disable : 4702) //unreachable code +#endif /////////////////////////////////////////////////////////////////////////////// // BOOST_VARIANT_VISITATION_UNROLLING_LIMIT @@ -283,4 +287,8 @@ }} // namespace detail::variant } // namespace boost +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +# pragma warning(pop) +#endif + #endif // BOOST_VARIANT_DETAIL_VISITATION_IMPL_HPP Index: boost/variant/variant.hpp =================================================================== --- boost/variant/variant.hpp (revision 53461) +++ boost/variant/variant.hpp (working copy) @@ -290,7 +290,7 @@ { operand.~T(); -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0551)) +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0551)) || BOOST_WORKAROUND(BOOST_MSVC, >= 1400) operand; // suppresses warnings #endif