Index: libs/config/test/config_test.cpp =================================================================== --- libs/config/test/config_test.cpp (revision 50086) +++ libs/config/test/config_test.cpp (working copy) @@ -1,11 +1,11 @@ -// This file was automatically generated on Sat Sep 20 09:49:52 2008 +// This file was automatically generated on Wed Sep 24 11:44:22 2008 // 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$ // @@ -110,20 +110,25 @@ #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING #include "boost_no_func_tmp_order.ipp" #else namespace boost_no_function_template_ordering = empty_boost; #endif #ifndef BOOST_NO_MS_INT64_NUMERIC_LIMITS #include "boost_no_i64_limits.ipp" #else namespace boost_no_ms_int64_numeric_limits = empty_boost; #endif +#ifndef BOOST_NO_INITIALIZER_LISTS +#include "boost_no_initializer_lists.ipp" +#else +namespace boost_no_initializer_lists = empty_boost; +#endif #ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION #include "boost_no_inline_memb_init.ipp" #else namespace boost_no_inclass_member_initialization = empty_boost; #endif #ifndef BOOST_NO_INTEGRAL_INT64_T #include "boost_no_integral_int64_t.ipp" #else namespace boost_no_integral_int64_t = empty_boost; #endif @@ -959,20 +964,25 @@ if(0 != boost_no_function_template_ordering::test()) { std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_ORDERING at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } if(0 != boost_no_ms_int64_numeric_limits::test()) { std::cerr << "Failed test for BOOST_NO_MS_INT64_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_no_initializer_lists::test()) + { + std::cerr << "Failed test for BOOST_NO_INITIALIZER_LISTS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_no_inclass_member_initialization::test()) { std::cerr << "Failed test for BOOST_NO_INCLASS_MEMBER_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } if(0 != boost_no_integral_int64_t::test()) { std::cerr << "Failed test for BOOST_NO_INTEGRAL_INT64_T at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } Index: libs/config/test/config_info.cpp =================================================================== --- libs/config/test/config_info.cpp (revision 50086) +++ libs/config/test/config_info.cpp (working copy) @@ -962,20 +962,21 @@ PRINT_MACRO(BOOST_NO_CWCHAR); PRINT_MACRO(BOOST_NO_CWCTYPE); PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS); PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS); PRINT_MACRO(BOOST_NO_EXCEPTIONS); PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE); PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS); PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING); PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS); PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION); + PRINT_MACRO(BOOST_NO_INITIALIZER_LISTS); PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T); PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T); PRINT_MACRO(BOOST_NO_IOSFWD); PRINT_MACRO(BOOST_NO_IOSTREAM); PRINT_MACRO(BOOST_NO_IS_ABSTRACT); PRINT_MACRO(BOOST_NO_LIMITS); PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS); PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS); PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS); PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES); @@ -1034,20 +1035,21 @@ + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); PRINT_MACRO(BOOST_MSVC); PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE); PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0)); } void print_separator() { Index: libs/config/test/all/Jamfile.v2 =================================================================== --- libs/config/test/all/Jamfile.v2 (revision 50086) +++ libs/config/test/all/Jamfile.v2 (working copy) @@ -1,14 +1,14 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Sat Sep 20 09:49:52 2008 +# This file was automatically generated on Wed Sep 24 11:44:22 2008 # by libs/config/tools/generate.cpp # Copyright John Maddock. # 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) # # If you need to alter build preferences then set them in # the template defined in options_v2.jam. # path-constant DOT : . ; @@ -225,20 +225,23 @@ [ compile-fail ../no_exp_func_tem_arg_fail.cpp ] ; test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" : [ run ../no_function_type_spec_pass.cpp ] [ compile-fail ../no_function_type_spec_fail.cpp ] ; test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" : [ run ../no_func_tmp_order_pass.cpp ] [ compile-fail ../no_func_tmp_order_fail.cpp ] ; test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" : [ run ../no_i64_limits_pass.cpp ] [ compile-fail ../no_i64_limits_fail.cpp ] ; +test-suite "BOOST_NO_INITIALIZER_LISTS" : +[ run ../no_initializer_lists_pass.cpp ] +[ compile-fail ../no_initializer_lists_fail.cpp ] ; test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" : [ run ../no_inline_memb_init_pass.cpp ] [ compile-fail ../no_inline_memb_init_fail.cpp ] ; test-suite "BOOST_NO_INTEGRAL_INT64_T" : [ run ../no_integral_int64_t_pass.cpp ] [ compile-fail ../no_integral_int64_t_fail.cpp ] ; test-suite "BOOST_NO_IOSFWD" : [ run ../no_iosfwd_pass.cpp ] [ compile-fail ../no_iosfwd_fail.cpp ] ; test-suite "BOOST_NO_IOSTREAM" : Index: boost/config/compiler/sgi_mipspro.hpp =================================================================== --- boost/config/compiler/sgi_mipspro.hpp (revision 50086) +++ boost/config/compiler/sgi_mipspro.hpp (working copy) @@ -14,15 +14,17 @@ // // Threading support: // Turn this on unconditionally here, it will get turned off again later // if no threading API is detected. // #define BOOST_HAS_THREADS #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #undef BOOST_NO_SWPRINTF #undef BOOST_DEDUCED_TYPENAME + +#define BOOST_NO_INITIALIZER_LISTS // // version check: // probably nothing to do here? Index: boost/config/compiler/sunpro_cc.hpp =================================================================== --- boost/config/compiler/sunpro_cc.hpp (revision 50086) +++ boost/config/compiler/sunpro_cc.hpp (working copy) @@ -67,20 +67,21 @@ # endif # if (__SUNPRO_CC <= 0x580) # define BOOST_NO_IS_ABSTRACT # endif // // Issues that effect all known versions: // #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_ADL_BARRIER +#define BOOST_NO_INITIALIZER_LISTS #if(__SUNPRO_CC >= 0x590) # define BOOST_HAS_LONG_LONG #endif #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) // // versions check: Index: boost/config/compiler/gcc.hpp =================================================================== --- boost/config/compiler/gcc.hpp (revision 50086) +++ boost/config/compiler/gcc.hpp (working copy) @@ -109,20 +109,24 @@ // passed on the command line, which in turn defines // __GXX_EXPERIMENTAL_CXX0X__. # if defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_HAS_STATIC_ASSERT # define BOOST_HAS_VARIADIC_TMPL # define BOOST_HAS_RVALUE_REFS # define BOOST_HAS_DECLTYPE # endif #endif +#if !defined(__GXX_EXPERIMENTAL_CXX0X__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) +# define BOOST_NO_INITIALIZER_LISTS +#endif + // // Potential C++0x features // // Variadic templates compiler: // http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html #ifdef __VARIADIC_TEMPLATES # define BOOST_HAS_VARIADIC_TMPL #endif Index: boost/config/compiler/digitalmars.hpp =================================================================== --- boost/config/compiler/digitalmars.hpp (revision 50086) +++ boost/config/compiler/digitalmars.hpp (working copy) @@ -19,20 +19,21 @@ #define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS #endif #if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG) #define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS #define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #define BOOST_NO_OPERATORS_IN_NAMESPACE #define BOOST_NO_UNREACHABLE_RETURN_DETECTION #define BOOST_NO_SFINAE #define BOOST_NO_USING_TEMPLATE #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#define BOOST_NO_INITIALIZER_LISTS #endif // // has macros: #if (__DMC__ >= 0x840) #define BOOST_HAS_DIRENT_H #define BOOST_HAS_STDINT_H #define BOOST_HAS_WINTHREADS #endif Index: boost/config/compiler/metrowerks.hpp =================================================================== --- boost/config/compiler/metrowerks.hpp (revision 50086) +++ boost/config/compiler/metrowerks.hpp (working copy) @@ -35,20 +35,21 @@ # if(__MWERKS__ <= 0x3003) // 8.x # define BOOST_NO_SFINAE # endif // the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last // tested version *only*: # if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS # define BOOST_NO_IS_ABSTRACT +# define BOOST_NO_INITIALIZER_LISTS # endif #if !__option(wchar_type) # define BOOST_NO_INTRINSIC_WCHAR_T #endif #if !__option(exceptions) # define BOOST_NO_EXCEPTIONS #endif Index: boost/config/compiler/mpw.hpp =================================================================== --- boost/config/compiler/mpw.hpp (revision 50086) +++ boost/config/compiler/mpw.hpp (working copy) @@ -25,20 +25,22 @@ # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_NO_INTRINSIC_WCHAR_T # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # define BOOST_NO_USING_TEMPLATE # define BOOST_NO_CWCHAR # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ + +# define BOOST_NO_INITIALIZER_LISTS #endif // // versions check: // we don't support MPW prior to version 8.9: #if MPW_CPLUS < 0x890 # error "Compiler not supported or configured - please reconfigure" #endif // // last known and checked version is 0x890: Index: boost/config/compiler/visualc.hpp =================================================================== --- boost/config/compiler/visualc.hpp (revision 50086) +++ boost/config/compiler/visualc.hpp (working copy) @@ -86,20 +86,24 @@ #if _MSC_VER <= 1600 // 1600 == VC++ 10.0 # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif #if _MSC_VER == 1500 // 1500 == VC++ 9.0 // A bug in VC9: # define BOOST_NO_ADL_BARRIER #endif +#if _MSC_VER <= 1500 || !defined(BOOST_STRICT_CONFIG) // 1500 == VC++ 9.0 +# define BOOST_NO_INITIALIZER_LISTS +#endif + #ifndef _NATIVE_WCHAR_T_DEFINED # define BOOST_NO_INTRINSIC_WCHAR_T #endif #if defined(_WIN32_WCE) || defined(UNDER_CE) # define BOOST_NO_THREADEX # define BOOST_NO_GETSYSTEMTIMEASFILETIME # define BOOST_NO_SWPRINTF #endif Index: boost/config/compiler/common_edg.hpp =================================================================== --- boost/config/compiler/common_edg.hpp (revision 50086) +++ boost/config/compiler/common_edg.hpp (working copy) @@ -36,20 +36,25 @@ #endif #if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) # define BOOST_NO_IS_ABSTRACT #endif #if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #endif +#if (__EDG_VERSION__ <= 310) || !defined(BOOST_STRICT_CONFIG) +// No support for initializer lists +# define BOOST_NO_INITIALIZER_LISTS +#endif + // See also kai.hpp which checks a Kai-specific symbol for EH # if !defined(__KCC) && !defined(__EXCEPTIONS) # define BOOST_NO_EXCEPTIONS # endif # if !defined(__NO_LONG_LONG) # define BOOST_HAS_LONG_LONG # endif #ifdef c_plusplus Index: boost/config/compiler/vacpp.hpp =================================================================== --- boost/config/compiler/vacpp.hpp (revision 50086) +++ boost/config/compiler/vacpp.hpp (working copy) @@ -20,20 +20,21 @@ // Actually the compiler supports inclass member initialization but it // requires a definition for the class member and it doesn't recognize // it as an integral constant expression when used as a template argument. # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_NO_INTEGRAL_INT64_T # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD #endif #if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) # define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +# define BOOST_NO_INITIALIZER_LISTS #endif // // On AIX thread support seems to be indicated by _THREAD_SAFE: // #ifdef _THREAD_SAFE # define BOOST_HAS_THREADS #endif #define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) Index: boost/config/compiler/pgi.hpp =================================================================== --- boost/config/compiler/pgi.hpp (revision 50086) +++ boost/config/compiler/pgi.hpp (working copy) @@ -14,20 +14,21 @@ // Threading support: // Turn this on unconditionally here, it will get turned off again later // if no threading API is detected. // #if (__PGIC__ >= 7) #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_SWPRINTF +#define BOOST_NO_INITIALIZER_LISTS #else # error "Pgi compiler not configured - please reconfigure" #endif // // version check: // probably nothing to do here? Index: boost/config/compiler/borland.hpp =================================================================== --- boost/config/compiler/borland.hpp (revision 50086) +++ boost/config/compiler/borland.hpp (working copy) @@ -149,20 +149,22 @@ //# define BOOST_HAS_DELETED_FN # define BOOST_HAS_EXPLICIT_CONVERSION_OPS //# define BOOST_HAS_NULLPTR //# define BOOST_HAS_RAW_STRING # define BOOST_HAS_REF_QUALIFIER # define BOOST_HAS_RVALUE_REFS //# define BOOST_HAS_SCOPED_ENUM # define BOOST_HAS_STATIC_ASSERT //# define BOOST_HAS_VARIADIC_TMPL # #endif //__BORLANDC__ >= 0x610 +#else +# define BOOST_NO_INITIALIZER_LISTS #endif #if __BORLANDC__ >= 0x590 # define BOOST_HAS_TR1_HASH # define BOOST_HAS_MACRO_USE_FACET #endif // // Post 0x561 we have long long and stdint.h: