diff --git a/include/boost/functional/hash/hash.hpp b/include/boost/functional/hash/hash.hpp index ce1ce94..697cb41 100644 --- a/include/boost/functional/hash/hash.hpp +++ b/include/boost/functional/hash/hash.hpp @@ -199,7 +199,7 @@ namespace boost #if defined(BOOST_MSVC) #pragma warning(push) -#if BOOST_MSVC == 1400 +#if BOOST_MSVC <= 1400 #pragma warning(disable:4267) // 'argument' : conversion from 'size_t' to 'unsigned int', // possible loss of data // A misguided attempt to detect 64-bit incompatability. diff --git a/test/hash_complex_test.cpp b/test/hash_complex_test.cpp index 7adffd9..3d7c200 100644 --- a/test/hash_complex_test.cpp +++ b/test/hash_complex_test.cpp @@ -25,6 +25,9 @@ int main() {} #pragma warning(disable:4305) // truncation from 'double' to 'const std::complex::_Ty' #pragma warning(disable:4309) // truncation of constant value #pragma warning(disable:4512) // assignment operator could not be generated +#if BOOST_MSVC < 1400 +#pragma warning(disable:4267) // conversion from 'size_t' to 'unsigned int', possible loss of data +#endif #endif #include diff --git a/test/hash_float_test.hpp b/test/hash_float_test.hpp index b1c19fc..ab3cbf2 100644 --- a/test/hash_float_test.hpp +++ b/test/hash_float_test.hpp @@ -23,6 +23,10 @@ #if defined(BOOST_MSVC) #pragma warning(push) #pragma warning(disable:4127) // conditional expression is constant +#pragma warning(disable:4723) // conditional expression is constant +#if BOOST_MSVC < 1400 +#pragma warning(disable:4267) // conversion from 'size_t' to 'unsigned int', possible loss of data +#endif #endif char const* float_type(float*) { return "float"; }