From ea80234d5f1fff82573f7180f43b6600572fecc4 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sun, 3 Jul 2016 09:18:56 +0100 Subject: [PATCH] Update visual C++ config for version 14 update 3. --- include/boost/config/compiler/visualc.hpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 7a66bc8c..bd23d18c 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -182,6 +182,13 @@ # define BOOST_NO_CXX14_DIGIT_SEPARATORS # define BOOST_NO_CXX11_THREAD_LOCAL #endif +// C++11 features supported by VC++ 14 update 3 (aka 2015) +// +#if (_MSC_FULL_VER < 190024210) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +# define BOOST_NO_SFINAE_EXPR +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif // MSVC including version 14 has not yet completely // implemented value-initialization, as is reported: @@ -201,18 +208,15 @@ #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // // C++11 features not supported by any versions -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP -// -// To ease testing MSVC compiler updates, suppress BOOST_NO_SFINAE_EXPR if requested -#ifndef BOOST_MSVC_SFINAE_EXPR -#define BOOST_NO_SFINAE_EXPR -#endif // // This is somewhat supported in VC14, but we may need to wait for // a service release before enabling: // // To ease testing MSVC compiler updates, suppress BOOST_NO_CXX11_CONSTEXPR if requested #ifndef BOOST_MSVC_CXX11_CONSTEXPR +// Not defining this for VC14up3 causes harmless failures in multiprecision and metaparse +// but a critical failure in chrono (nothing much builds). It also causes a strange runtime +// failure in type_erasure. #define BOOST_NO_CXX11_CONSTEXPR #endif @@ -223,9 +227,6 @@ #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif // // prefix and suffix headers: