boost/config/auto_link.hpp | 12 +++++++++++- boost/config/compiler/visualc.hpp | 29 +++++++++++++++++++++-------- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/boost/config/auto_link.hpp b/boost/config/auto_link.hpp index 13cbad4..c745745 100644 --- a/boost/config/auto_link.hpp +++ b/boost/config/auto_link.hpp @@ -156,11 +156,21 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. // vc11: # define BOOST_LIB_TOOLSET "vc110" -# elif defined(BOOST_MSVC) +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900) // vc12: # define BOOST_LIB_TOOLSET "vc120" +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 2000) + + // vc14: +# define BOOST_LIB_TOOLSET "vc140" + +# elif defined(BOOST_MSVC) + + // vc is unknown, so don't define +# undef BOOST_LIB_TOOLSET + # elif defined(__BORLANDC__) // CBuilder 6: diff --git a/boost/config/compiler/visualc.hpp b/boost/config/compiler/visualc.hpp index 842f086..89390a3 100644 --- a/boost/config/compiler/visualc.hpp +++ b/boost/config/compiler/visualc.hpp @@ -168,18 +168,27 @@ # define BOOST_NO_CXX11_DECLTYPE_N3276 #endif +// C++11 features supported by VC++ 14. +// +#if _MSC_VER < 1900 +# define BOOST_NO_CXX11_NOEXCEPT +# define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX11_INLINE_NAMESPACES +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +# define BOOST_NO_CXX11_ALIGNAS +#endif +#if _MSC_FULL_VER <= 190022013 // CTP 3 +// The CTP 3 STL hasn't fully caught up with constexpr, so some breakage may occur +# define BOOST_NO_CXX11_CONSTEXPR +#endif + + // C++11 features not supported by any versions #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_INLINE_NAMESPACES // // prefix and suffix headers: @@ -216,6 +225,8 @@ # define BOOST_COMPILER_VERSION evc11 # elif _MSC_VER < 1900 # define BOOST_COMPILER_VERSION evc12 +# elif _MSC_VER < 2000 +# define BOOST_COMPILER_VERSION evc14 # else # if defined(BOOST_ASSERT_CONFIG) # error "Unknown EVC++ compiler version - please run the configure tests and report the results" @@ -243,6 +254,8 @@ # define BOOST_COMPILER_VERSION 11.0 # elif _MSC_VER < 1900 # define BOOST_COMPILER_VERSION 12.0 +# elif _MSC_VER < 2000 +# define BOOST_COMPILER_VERSION 14.0 # else # define BOOST_COMPILER_VERSION _MSC_VER # endif @@ -252,8 +265,8 @@ #endif // -// last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC): -#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827) +// last known and checked version is 19.00.22013.1 (VC14 CTP3): +#if (_MSC_VER > 1900 && _MSC_FULL_VER > 190022013) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # else