diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 842f0865..cef7a4b7 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -168,18 +168,25 @@ # define BOOST_NO_CXX11_DECLTYPE_N3276 #endif +// C++11 features supported by VC++ 14 CTP1 +// Because the CTP is unsupported, unrelease, and only alpha quality, +// it is only supported if BOOST_MSVC_ENABLE_2014_JUN_CTP is defined. +// +#if (_MSC_FULL_VER < 190021730) || !defined(BOOST_MSVC_ENABLE_2014_JUN_CTP) +# define BOOST_NO_CXX11_NOEXCEPT +# define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +# define BOOST_NO_CXX11_ALIGNAS +# define BOOST_NO_CXX11_INLINE_NAMESPACES +#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: @@ -243,6 +250,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 +261,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 18.00.21730.1 (VC14 CTP1): +#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190021730) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # else diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index ec1df035..14056326 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -48,9 +48,25 @@ test-suite config linux:-lpthread linux:-lrt gcc:$(OTHERFLAGS) + ] + [ run config_test.cpp + : #args + : #input-files + : #requirements + off + : config_test_no_rtti + ] + [ run config_test.cpp + : #args + : #input-files + : #requirements + off + : config_test_no_except ] [ run config_info.cpp : : : always_show_run_output single msvc:static msvc:static ] [ run config_info.cpp : : : always_show_run_output multi : config_info_threaded ] + [ run config_info.cpp : : : always_show_run_output off : config_info_no_rtti ] + [ run config_info.cpp : : : always_show_run_output off : config_info_no_except ] [ run math_info.cpp : : : always_show_run_output borland:static borland:static ] [ run abi/abi_test.cpp abi/main.cpp ] [ run limits_test.cpp ../../test/build//boost_test_exec_monitor ] diff --git a/test/config_info.cpp b/test/config_info.cpp index cefc75ff..d8393462 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -192,6 +192,7 @@ void print_compiler_macros() PRINT_MACRO(__hppa); PRINT_MACRO(__CYGWIN__); PRINT_MACRO(__MINGW32__); + PRINT_MACRO(__GXX_RTTI); // HP aCC: PRINT_MACRO(__HP_aCC); PRINT_MACRO(_HPACC_); @@ -293,6 +294,8 @@ void print_compiler_macros() PRINT_MACRO(_OPENMPT); PRINT_MACRO(_PGO_INSTRUMENT); PRINT_MACRO(__QMSPP_); + PRINT_MACRO(__INTEL_RTTI__); + PRINT_MACRO(__INTEL_CXX11_MODE__); // Cray options: PRINT_MACRO(_CRAYC);