From 35fbb2e5e2a97d0eeed35a7f6c2703beedba4057 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 17 Jul 2018 19:36:03 +0100 Subject: [PATCH] Disable some std::locale tests with VC15.7 as they (incorrectly) assert in the C runtime. --- test/regress/test_locale.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/regress/test_locale.cpp b/test/regress/test_locale.cpp index 692d83e6..54cd56ab 100644 --- a/test/regress/test_locale.cpp +++ b/test/regress/test_locale.cpp @@ -49,7 +49,9 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) #else s_c_locale = no_test; #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: m_old_cpp_locale = s_cpp_locale_inst; m_old_cpp_state = s_cpp_locale;