diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index e3dfaaae..2c3a2adf 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -142,10 +142,24 @@ // all versions support __declspec: // #define BOOST_HAS_DECLSPEC + // // C++0x features // // See above for BOOST_NO_LONG_LONG + +// C++ features supported by VC++ 10 (aka 2010) +// +#if _MSC_VER < 1600 +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_DECLTYPE +#define BOOST_NO_LAMBDAS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_STATIC_ASSERT +#endif // _MSC_VER < 1600 + +// C++0x features not supported by any versions #define BOOST_NO_CHAR16_T #define BOOST_NO_CHAR32_T #define BOOST_NO_CONCEPTS @@ -162,16 +176,6 @@ #define BOOST_NO_UNICODE_LITERALS #define BOOST_NO_VARIADIC_TEMPLATES -// MSVC 2010 will have some support for C++0x, but we disable it until the beta ships -// #if _MSC_VER < 1600 -#define BOOST_NO_AUTO_DECLARATIONS -#define BOOST_NO_AUTO_MULTIDECLARATIONS -#define BOOST_NO_DECLTYPE -#define BOOST_NO_LAMBDAS -#define BOOST_NO_RVALUE_REFERENCES -#define BOOST_NO_STATIC_ASSERT -// #endif // _MSC_VER < 1600 - // // prefix and suffix headers: // @@ -236,7 +240,7 @@ #error "Compiler not supported or configured - please reconfigure" #endif // -// last known and checked version is 1500 (VC9): +// last known and checked version is 1600 (VC10, aka 2010): #if (_MSC_VER > 1600) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp index 3e340c6a..addf3357 100644 --- a/include/boost/config/stdlib/dinkumware.hpp +++ b/include/boost/config/stdlib/dinkumware.hpp @@ -84,30 +84,35 @@ # define BOOST_NO_STD_LOCALE #endif -// C++0x headers not yet implemented +// C++0x headers implemented in 520 (as shipped by Microsoft) // +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520 # define BOOST_NO_0X_HDR_ARRAY -# define BOOST_NO_0X_HDR_CHRONO # define BOOST_NO_0X_HDR_CODECVT -# define BOOST_NO_0X_HDR_CONCEPTS -# define BOOST_NO_0X_HDR_CONDITION_VARIABLE -# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS # define BOOST_NO_0X_HDR_FORWARD_LIST -# define BOOST_NO_0X_HDR_FUTURE # define BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS -# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS -# define BOOST_NO_0X_HDR_MUTEX # define BOOST_NO_0X_HDR_RANDOM -# define BOOST_NO_0X_HDR_RATIO # define BOOST_NO_0X_HDR_REGEX # define BOOST_NO_0X_HDR_SYSTEM_ERROR -# define BOOST_NO_0X_HDR_THREAD -# define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TYPE_TRAITS # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE #ifdef _CPPLIB_VER # define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index cbcc6554..e7d6915c 100644 --- a/test/all/Jamfile.v2 +++ b/test/all/Jamfile.v2 @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Fri May 15 12:45:15 2009 +# This file was automatically generated on Thu May 21 11:08:48 2009 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the diff --git a/test/boost_no_lambdas.ipp b/test/boost_no_lambdas.ipp index c331c9f6..1d9285f0 100644 --- a/test/boost_no_lambdas.ipp +++ b/test/boost_no_lambdas.ipp @@ -7,16 +7,14 @@ // See http://www.boost.org/libs/config for more information. // MACRO: BOOST_NO_LAMBDAS -// TITLE: C++0x lambdas feature unavailable -// DESCRIPTION: The compiler does not support the C++0x lambdas feature - -#include +// TITLE: C++0x lambda feature unavailable +// DESCRIPTION: The compiler does not support the C++0x lambda feature namespace boost_no_lambdas { int test() { - assert( 12345 == [](){return 12345;} ); + [](){}; return 0; } diff --git a/test/config_info.cpp b/test/config_info.cpp index 04061ff6..383412cb 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -1072,6 +1072,7 @@ void print_boost_macros() + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index 0146c193..bc76fe54 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Fri May 15 12:45:15 2009 +// This file was automatically generated on Thu May 21 11:08:48 2009 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the