diff --git a/include/boost/config/compiler/gcc_xml.hpp b/include/boost/config/compiler/gcc_xml.hpp index 5dd67c76..7f884b19 100644 --- a/include/boost/config/compiler/gcc_xml.hpp +++ b/include/boost/config/compiler/gcc_xml.hpp @@ -25,6 +25,31 @@ // #define BOOST_HAS_LONG_LONG +// C++0x features: +// +# define BOOST_NO_CONSTEXPR +# define BOOST_NO_NULLPTR +# define BOOST_NO_TEMPLATE_ALIASES +# define BOOST_NO_DECLTYPE +# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +# define BOOST_NO_RVALUE_REFERENCES +# define BOOST_NO_STATIC_ASSERT +# define BOOST_NO_VARIADIC_TEMPLATES +# define BOOST_NO_AUTO_DECLARATIONS +# define BOOST_NO_AUTO_MULTIDECLARATIONS +# define BOOST_NO_CHAR16_T +# define BOOST_NO_CHAR32_T +# define BOOST_NO_DEFAULTED_FUNCTIONS +# define BOOST_NO_DELETED_FUNCTIONS +# define BOOST_NO_INITIALIZER_LISTS +# define BOOST_NO_SCOPED_ENUMS +# define BOOST_NO_SFINAE_EXPR +# define BOOST_NO_SCOPED_ENUMS +# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +# define BOOST_NO_LAMBDAS +# define BOOST_NO_RAW_LITERALS +# define BOOST_NO_UNICODE_LITERALS + #define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ diff --git a/include/boost/config/compiler/nvcc.hpp b/include/boost/config/compiler/nvcc.hpp index 7d831af8..e31c3e28 100644 --- a/include/boost/config/compiler/nvcc.hpp +++ b/include/boost/config/compiler/nvcc.hpp @@ -66,6 +66,7 @@ #define BOOST_NO_0X_HDR_TYPE_TRAITS #define BOOST_NO_0X_HDR_TUPLE #define BOOST_NO_0X_HDR_THREAD +#define BOOST_NO_0X_HDR_TYPEINDEX #define BOOST_NO_0X_HDR_SYSTEM_ERROR #define BOOST_NO_0X_HDR_REGEX #define BOOST_NO_0X_HDR_RATIO diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 2f89519e..996fc751 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -80,6 +80,8 @@ // although a conforming signature for swprint exists in VC7.1 // it appears not to actually work: # define BOOST_NO_SWPRINTF +// Our extern template tests also fail for this compiler: +# define BOOST_NO_EXTERN_TEMPLATE #endif #if defined(UNDER_CE) diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp index 5d044363..ea8faf14 100644 --- a/include/boost/config/stdlib/dinkumware.hpp +++ b/include/boost/config/stdlib/dinkumware.hpp @@ -106,6 +106,7 @@ # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET # define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPEINDEX #endif #if !defined(_HAS_TR1_IMPORTS) && !defined(BOOST_NO_0X_HDR_TUPLE) diff --git a/include/boost/config/stdlib/libcomo.hpp b/include/boost/config/stdlib/libcomo.hpp index 06731e32..97a39f3e 100644 --- a/include/boost/config/stdlib/libcomo.hpp +++ b/include/boost/config/stdlib/libcomo.hpp @@ -54,6 +54,7 @@ # define BOOST_NO_0X_HDR_THREAD # define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_0X_HDR_TYPEINDEX # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index 6a57319f..815d605c 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -123,5 +123,6 @@ # 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_TYPEINDEX // --- end --- diff --git a/include/boost/config/stdlib/modena.hpp b/include/boost/config/stdlib/modena.hpp index 7bd50cec..10792cda 100644 --- a/include/boost/config/stdlib/modena.hpp +++ b/include/boost/config/stdlib/modena.hpp @@ -43,6 +43,7 @@ # define BOOST_NO_0X_HDR_THREAD # define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_0X_HDR_TYPEINDEX # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET diff --git a/include/boost/config/stdlib/msl.hpp b/include/boost/config/stdlib/msl.hpp index 6bcd232a..beb15de6 100644 --- a/include/boost/config/stdlib/msl.hpp +++ b/include/boost/config/stdlib/msl.hpp @@ -67,6 +67,7 @@ # define BOOST_NO_0X_HDR_THREAD # define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_0X_HDR_TYPEINDEX # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET diff --git a/include/boost/config/stdlib/roguewave.hpp b/include/boost/config/stdlib/roguewave.hpp index cba2f54a..830c32ef 100644 --- a/include/boost/config/stdlib/roguewave.hpp +++ b/include/boost/config/stdlib/roguewave.hpp @@ -173,6 +173,7 @@ # define BOOST_NO_0X_HDR_THREAD # define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_0X_HDR_TYPEINDEX # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET diff --git a/include/boost/config/stdlib/sgi.hpp b/include/boost/config/stdlib/sgi.hpp index c505008b..293886bc 100644 --- a/include/boost/config/stdlib/sgi.hpp +++ b/include/boost/config/stdlib/sgi.hpp @@ -126,6 +126,7 @@ # define BOOST_NO_0X_HDR_THREAD # define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_0X_HDR_TYPEINDEX # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET diff --git a/include/boost/config/stdlib/stlport.hpp b/include/boost/config/stdlib/stlport.hpp index 3dfd529e..bb6fe134 100644 --- a/include/boost/config/stdlib/stlport.hpp +++ b/include/boost/config/stdlib/stlport.hpp @@ -221,6 +221,7 @@ namespace boost { using std::min; using std::max; } # define BOOST_NO_0X_HDR_THREAD # define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_0X_HDR_TYPEINDEX # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET diff --git a/include/boost/config/stdlib/vacpp.hpp b/include/boost/config/stdlib/vacpp.hpp index c8d6d5ad..3504971f 100644 --- a/include/boost/config/stdlib/vacpp.hpp +++ b/include/boost/config/stdlib/vacpp.hpp @@ -33,6 +33,7 @@ # define BOOST_NO_0X_HDR_THREAD # define BOOST_NO_0X_HDR_TUPLE # define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_0X_HDR_TYPEINDEX # define BOOST_NO_STD_UNORDERED // deprecated; see following # define BOOST_NO_0X_HDR_UNORDERED_MAP # define BOOST_NO_0X_HDR_UNORDERED_SET diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index e33f87a0..01e90656 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 Apr 09 12:24:54 2010 +# This file was automatically generated on Fri Jun 04 12:51:35 2010 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -229,6 +229,9 @@ test-suite "BOOST_NO_0X_HDR_THREAD" : test-suite "BOOST_NO_0X_HDR_TUPLE" : [ run ../no_0x_hdr_tuple_pass.cpp ] [ compile-fail ../no_0x_hdr_tuple_fail.cpp ] ; +test-suite "BOOST_NO_0X_HDR_TYPEINDEX" : +[ run ../no_0x_hdr_typeindex_pass.cpp ] +[ compile-fail ../no_0x_hdr_typeindex_fail.cpp ] ; test-suite "BOOST_NO_0X_HDR_TYPE_TRAITS" : [ run ../no_0x_hdr_type_traits_pass.cpp ] [ compile-fail ../no_0x_hdr_type_traits_fail.cpp ] ; diff --git a/test/boost_no_0x_hdr_typeindex.ipp b/test/boost_no_0x_hdr_typeindex.ipp new file mode 100644 index 00000000..b0555e7b --- /dev/null +++ b/test/boost_no_0x_hdr_typeindex.ipp @@ -0,0 +1,25 @@ +// (C) Copyright Beman Dawes 2009 + +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for more information. + +// MACRO: BOOST_NO_0X_HDR_TYPEINDEX +// TITLE: C++0x header unavailable +// DESCRIPTION: The standard library does not supply C++0x header + +#include + +namespace boost_no_0x_hdr_typeindex { + +int test() +{ + std::type_index t1 = typeid(int); + std::type_index t2 = typeid(double); + std::hash h; + return (t1 != t2) && (h(t1) != h(t2)) ? 0 : 1; +} + +} diff --git a/test/config_info.cpp b/test/config_info.cpp index 62f906b1..a05586d4 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -974,6 +974,7 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_0X_HDR_SYSTEM_ERROR); PRINT_MACRO(BOOST_NO_0X_HDR_THREAD); PRINT_MACRO(BOOST_NO_0X_HDR_TUPLE); + PRINT_MACRO(BOOST_NO_0X_HDR_TYPEINDEX); PRINT_MACRO(BOOST_NO_0X_HDR_TYPE_TRAITS); PRINT_MACRO(BOOST_NO_0X_HDR_UNORDERED_MAP); PRINT_MACRO(BOOST_NO_0X_HDR_UNORDERED_SET); @@ -1082,6 +1083,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 30c295d5..22352565 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Fri Apr 09 12:24:54 2010 +// This file was automatically generated on Fri Jun 04 12:51:35 2010 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -112,6 +112,11 @@ namespace boost_no_0x_hdr_thread = empty_boost; #else namespace boost_no_0x_hdr_tuple = empty_boost; #endif +#ifndef BOOST_NO_0X_HDR_TYPEINDEX +#include "boost_no_0x_hdr_typeindex.ipp" +#else +namespace boost_no_0x_hdr_typeindex = empty_boost; +#endif #ifndef BOOST_NO_0X_HDR_TYPE_TRAITS #include "boost_no_0x_hdr_type_traits.ipp" #else @@ -1196,6 +1201,11 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_0X_HDR_TUPLE at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_no_0x_hdr_typeindex::test()) + { + std::cerr << "Failed test for BOOST_NO_0X_HDR_TYPEINDEX at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_no_0x_hdr_type_traits::test()) { std::cerr << "Failed test for BOOST_NO_0X_HDR_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl; diff --git a/test/no_0x_hdr_typeindex_fail.cpp b/test/no_0x_hdr_typeindex_fail.cpp new file mode 100644 index 00000000..83e903d3 --- /dev/null +++ b/test/no_0x_hdr_typeindex_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Fri Jun 04 12:51:34 2010 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $ +// + + +// Test file for macro BOOST_NO_0X_HDR_TYPEINDEX +// This file should not compile, if it does then +// BOOST_NO_0X_HDR_TYPEINDEX should not be defined. +// See file boost_no_0x_hdr_typeindex.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifdef BOOST_NO_0X_HDR_TYPEINDEX +#include "boost_no_0x_hdr_typeindex.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_0x_hdr_typeindex::test(); +} + diff --git a/test/no_0x_hdr_typeindex_pass.cpp b/test/no_0x_hdr_typeindex_pass.cpp new file mode 100644 index 00000000..52d38440 --- /dev/null +++ b/test/no_0x_hdr_typeindex_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Fri Jun 04 12:51:34 2010 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $ +// + + +// Test file for macro BOOST_NO_0X_HDR_TYPEINDEX +// This file should compile, if it does not then +// BOOST_NO_0X_HDR_TYPEINDEX should be defined. +// See file boost_no_0x_hdr_typeindex.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifndef BOOST_NO_0X_HDR_TYPEINDEX +#include "boost_no_0x_hdr_typeindex.ipp" +#else +namespace boost_no_0x_hdr_typeindex = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_0x_hdr_typeindex::test(); +} +