Disable some std::locale tests with VC15.7 as they (incorrectly) assert in the C runtime.

This commit is contained in:
John Maddock
2018-07-17 19:36:03 +01:00
parent 5d990fd751
commit 35fbb2e5e2

View File

@ -49,7 +49,9 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid)
#else #else
s_c_locale = no_test; s_c_locale = no_test;
#endif #endif
#if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_EXCEPTIONS) // Disabled for VC15.7 (and later?) as the C runtime asserts if you pass an invalid
// locale name to std::locale, rather than throwing the expected exception.
#if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_EXCEPTIONS) && !BOOST_WORKAROUND(BOOST_MSVC, > 1913)
// back up the C++ locale and create the new one: // back up the C++ locale and create the new one:
m_old_cpp_locale = s_cpp_locale_inst; m_old_cpp_locale = s_cpp_locale_inst;
m_old_cpp_state = s_cpp_locale; m_old_cpp_state = s_cpp_locale;