Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51733 - in trunk: boost/config/compiler libs/config/doc libs/config/test libs/config/test/all
From: andrey.semashev_at_[hidden]
Date: 2009-03-12 10:48:54


Author: andysem
Date: 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
New Revision: 51733
URL: http://svn.boost.org/trac/boost/changeset/51733

Log:
Added configuration macros BOOST_NO_AUTO_DECLARATIONS and BOOST_NO_AUTO_MULTIDECLARATIONS.
Added:
   trunk/libs/config/test/boost_no_auto_declarations.ipp (contents, props changed)
   trunk/libs/config/test/boost_no_auto_multidecl.ipp (contents, props changed)
Text files modified:
   trunk/boost/config/compiler/borland.hpp | 42 ++++++++++++++++++++-------------------
   trunk/boost/config/compiler/codegear.hpp | 18 ++++++++--------
   trunk/boost/config/compiler/common_edg.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/digitalmars.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/gcc.hpp | 29 +++++++++++++++------------
   trunk/boost/config/compiler/hp_acc.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/intel.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/metrowerks.hpp | 26 +++++++++++++-----------
   trunk/boost/config/compiler/mpw.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/pgi.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/sgi_mipspro.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/sunpro_cc.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/vacpp.hpp | 28 ++++++++++++++------------
   trunk/boost/config/compiler/visualc.hpp | 34 +++++++++++++++++++-------------
   trunk/libs/config/doc/macro_reference.qbk | 6 +++++
   trunk/libs/config/test/all/Jamfile.v2 | 8 ++++++
   trunk/libs/config/test/config_info.cpp | 3 ++
   trunk/libs/config/test/config_test.cpp | 22 ++++++++++++++++++++
   18 files changed, 253 insertions(+), 187 deletions(-)

Modified: trunk/boost/config/compiler/borland.hpp
==============================================================================
--- trunk/boost/config/compiler/borland.hpp (original)
+++ trunk/boost/config/compiler/borland.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -153,29 +153,31 @@
 # define BOOST_HAS_RVALUE_REFS
 # define BOOST_HAS_STATIC_ASSERT
 
-# define BOOST_NO_EXTERN_TEMPLATE
-# define BOOST_NO_SCOPED_ENUMS
+# define BOOST_NO_EXTERN_TEMPLATE
+# define BOOST_NO_SCOPED_ENUMS
 # define BOOST_NO_VARIADIC_TEMPLATES
-# define BOOST_NO_CONSTEXPR
-# define BOOST_NO_DEFAULTED_FUNCTIONS
-# define BOOST_NO_DELETED_FUNCTIONS
-# define BOOST_NO_RAW_LITERALS
-# define BOOST_NO_UNICODE_LITERALS // UTF-8 still not supported
+# define BOOST_NO_CONSTEXPR
+# define BOOST_NO_DEFAULTED_FUNCTIONS
+# define BOOST_NO_DELETED_FUNCTIONS
+# define BOOST_NO_RAW_LITERALS
+# define BOOST_NO_UNICODE_LITERALS // UTF-8 still not supported
 #else
-# define BOOST_NO_CHAR16_T
-# define BOOST_NO_CHAR32_T
-# define BOOST_NO_DECLTYPE
-# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_EXTERN_TEMPLATE
-# define BOOST_NO_SCOPED_ENUMS
-# define BOOST_NO_STATIC_ASSERT
-# define BOOST_NO_RVALUE_REFERENCES
+# define BOOST_NO_CHAR16_T
+# define BOOST_NO_CHAR32_T
+# define BOOST_NO_DECLTYPE
+# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+# define BOOST_NO_EXTERN_TEMPLATE
+# define BOOST_NO_SCOPED_ENUMS
+# define BOOST_NO_STATIC_ASSERT
+# define BOOST_NO_RVALUE_REFERENCES
 # define BOOST_NO_VARIADIC_TEMPLATES
-# define BOOST_NO_CONSTEXPR
-# define BOOST_NO_DEFAULTED_FUNCTIONS
-# define BOOST_NO_DELETED_FUNCTIONS
-# define BOOST_NO_RAW_LITERALS
-# define BOOST_NO_UNICODE_LITERALS
+# define BOOST_NO_CONSTEXPR
+# define BOOST_NO_DEFAULTED_FUNCTIONS
+# define BOOST_NO_DELETED_FUNCTIONS
+# define BOOST_NO_RAW_LITERALS
+# define BOOST_NO_UNICODE_LITERALS
+# define BOOST_NO_AUTO_DECLARATIONS
+# define BOOST_NO_AUTO_MULTIDECLARATIONS
 #endif
 
 #define BOOST_NO_INITIALIZER_LISTS

Modified: trunk/boost/config/compiler/codegear.hpp
==============================================================================
--- trunk/boost/config/compiler/codegear.hpp (original)
+++ trunk/boost/config/compiler/codegear.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -73,16 +73,16 @@
 //# define BOOST_HAS_STATIC_ASSERT
 # define BOOST_HAS_STD_TYPE_TRAITS
 
-# define BOOST_NO_EXTERN_TEMPLATE
-# define BOOST_NO_SCOPED_ENUMS
-# define BOOST_NO_STATIC_ASSERT
-# define BOOST_NO_RVALUE_REFERENCES
+# define BOOST_NO_EXTERN_TEMPLATE
+# define BOOST_NO_SCOPED_ENUMS
+# define BOOST_NO_STATIC_ASSERT
+# define BOOST_NO_RVALUE_REFERENCES
 # define BOOST_NO_VARIADIC_TEMPLATES
-# define BOOST_NO_CONSTEXPR
-# define BOOST_NO_DEFAULTED_FUNCTIONS
-# define BOOST_NO_DELETED_FUNCTIONS
-# define BOOST_NO_RAW_LITERALS
-# define BOOST_NO_UNICODE_LITERALS
+# define BOOST_NO_CONSTEXPR
+# define BOOST_NO_DEFAULTED_FUNCTIONS
+# define BOOST_NO_DELETED_FUNCTIONS
+# define BOOST_NO_RAW_LITERALS
+# define BOOST_NO_UNICODE_LITERALS
 
 //
 // TR1 macros:

Modified: trunk/boost/config/compiler/common_edg.hpp
==============================================================================
--- trunk/boost/config/compiler/common_edg.hpp (original)
+++ trunk/boost/config/compiler/common_edg.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -64,20 +64,22 @@
 //
 // See above for BOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 #ifdef c_plusplus
 // EDG has "long long" in non-strict mode
 // However, some libraries have insufficient "long long" support

Modified: trunk/boost/config/compiler/digitalmars.hpp
==============================================================================
--- trunk/boost/config/compiler/digitalmars.hpp (original)
+++ trunk/boost/config/compiler/digitalmars.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -59,20 +59,22 @@
 //
 // C++0x features
 //
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 #if __DMC__ < 0x800
 #error "Compiler not supported or configured - please reconfigure"
 #endif

Modified: trunk/boost/config/compiler/gcc.hpp
==============================================================================
--- trunk/boost/config/compiler/gcc.hpp (original)
+++ trunk/boost/config/compiler/gcc.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -105,16 +105,18 @@
 // C++0x features
 //
 
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_UNICODE_LITERALS
+// See below for BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
 // C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
@@ -124,13 +126,14 @@
 # define BOOST_HAS_RVALUE_REFS
 # define BOOST_HAS_STATIC_ASSERT
 #else
-# define BOOST_NO_DECLTYPE
-# define BOOST_NO_RVALUE_REFERENCES
-# define BOOST_NO_STATIC_ASSERT
+# define BOOST_NO_DECLTYPE
+# define BOOST_NO_RVALUE_REFERENCES
+# define BOOST_NO_STATIC_ASSERT
 #endif
 
 #if !defined(__GXX_EXPERIMENTAL_CXX0X__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
 # define BOOST_NO_INITIALIZER_LISTS
+# define BOOST_NO_AUTO_DECLARATIONS
 #endif
 
 // Variadic templates compiler:

Modified: trunk/boost/config/compiler/hp_acc.hpp
==============================================================================
--- trunk/boost/config/compiler/hp_acc.hpp (original)
+++ trunk/boost/config/compiler/hp_acc.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -90,20 +90,22 @@
 //
 // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 //
 // last known and checked version for HP-UX/ia64 is 61300

Modified: trunk/boost/config/compiler/intel.hpp
==============================================================================
--- trunk/boost/config/compiler/intel.hpp (original)
+++ trunk/boost/config/compiler/intel.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -162,20 +162,22 @@
 //
 // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 //
 // last known and checked version:

Modified: trunk/boost/config/compiler/metrowerks.hpp
==============================================================================
--- trunk/boost/config/compiler/metrowerks.hpp (original)
+++ trunk/boost/config/compiler/metrowerks.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -91,19 +91,21 @@
 #else
 # define BOOST_NO_RVALUE_REFERENCES
 #endif
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 #define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
 

Modified: trunk/boost/config/compiler/mpw.hpp
==============================================================================
--- trunk/boost/config/compiler/mpw.hpp (original)
+++ trunk/boost/config/compiler/mpw.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -41,20 +41,22 @@
 //
 // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 //
 // versions check:

Modified: trunk/boost/config/compiler/pgi.hpp
==============================================================================
--- trunk/boost/config/compiler/pgi.hpp (original)
+++ trunk/boost/config/compiler/pgi.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -33,20 +33,22 @@
 //
 // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 //
 // version check:

Modified: trunk/boost/config/compiler/sgi_mipspro.hpp
==============================================================================
--- trunk/boost/config/compiler/sgi_mipspro.hpp (original)
+++ trunk/boost/config/compiler/sgi_mipspro.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -28,20 +28,22 @@
 //
 // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 //
 // version check:

Modified: trunk/boost/config/compiler/sunpro_cc.hpp
==============================================================================
--- trunk/boost/config/compiler/sunpro_cc.hpp (original)
+++ trunk/boost/config/compiler/sunpro_cc.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -86,20 +86,22 @@
 # define BOOST_NO_LONG_LONG
 #endif
 
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 //
 // Version

Modified: trunk/boost/config/compiler/vacpp.hpp
==============================================================================
--- trunk/boost/config/compiler/vacpp.hpp (original)
+++ trunk/boost/config/compiler/vacpp.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -61,20 +61,22 @@
 //
 // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
 
 
 

Modified: trunk/boost/config/compiler/visualc.hpp
==============================================================================
--- trunk/boost/config/compiler/visualc.hpp (original)
+++ trunk/boost/config/compiler/visualc.hpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -146,21 +146,27 @@
 // C++0x features
 //
 // See above for BOOST_NO_LONG_LONG
+#define BOOST_NO_CHAR16_T
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_DEFAULTED_FUNCTIONS
+#define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_RAW_LITERALS
+#define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_VARIADIC_TEMPLATES
+
+// MSVC 2010 has some support for C++0x
+#if _MSC_VER < 1600
+# define BOOST_NO_RVALUE_REFERENCES
+# define BOOST_NO_STATIC_ASSERT
+# define BOOST_NO_AUTO_DECLARATIONS
+# define BOOST_NO_AUTO_MULTIDECLARATIONS
+#endif // _MSC_VER < 1600
 
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
 //
 // prefix and suffix headers:
 //

Modified: trunk/libs/config/doc/macro_reference.qbk
==============================================================================
--- trunk/libs/config/doc/macro_reference.qbk (original)
+++ trunk/libs/config/doc/macro_reference.qbk 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -524,6 +524,12 @@
 [table
 [[Macro ][Description ]]
 
+[[`BOOST_NO_AUTO_DECLARATIONS`][The compiler does not support
+type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
+]]
+[[`BOOST_NO_AUTO_MULTIDECLARATIONS`][The compiler does not support
+type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
+]]
 [[`BOOST_NO_CHAR16_T`][The compiler does not support
 type `char16_t`.
 ]]

Modified: trunk/libs/config/test/all/Jamfile.v2
==============================================================================
--- trunk/libs/config/test/all/Jamfile.v2 (original)
+++ trunk/libs/config/test/all/Jamfile.v2 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -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 Feb 20 21:15:18 2009
+# This file was automatically generated on Thu Mar 12 17:32:05 2009
 # by libs/config/tools/generate.cpp
 # Copyright John Maddock.
 # Use, modification and distribution are subject to the
@@ -184,6 +184,12 @@
 test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
 [ run ../no_array_type_spec_pass.cpp ]
 [ compile-fail ../no_array_type_spec_fail.cpp ] ;
+test-suite "BOOST_NO_AUTO_DECLARATIONS" :
+[ run ../no_auto_declarations_pass.cpp ]
+[ compile-fail ../no_auto_declarations_fail.cpp ] ;
+test-suite "BOOST_NO_AUTO_MULTIDECLARATIONS" :
+[ run ../no_auto_multidecl_pass.cpp ]
+[ compile-fail ../no_auto_multidecl_fail.cpp ] ;
 test-suite "BOOST_NO_AUTO_PTR" :
 [ run ../no_auto_ptr_pass.cpp ]
 [ compile-fail ../no_auto_ptr_fail.cpp ] ;

Added: trunk/libs/config/test/boost_no_auto_declarations.ipp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/boost_no_auto_declarations.ipp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -0,0 +1,25 @@
+// Copyright (C) 2009 Andrey Semashev
+// 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 most recent version.
+
+// MACRO: BOOST_NO_AUTO_DECLARATIONS
+// TITLE: C++0x auto declarators unavailable
+// DESCRIPTION: The compiler does not support C++0x declarations of variables with automatically deduced type
+
+namespace boost_no_auto_declarations {
+
+void check(int& x)
+{
+}
+
+int test()
+{
+ auto x = 10;
+ check(x);
+ return 0;
+}
+
+}

Added: trunk/libs/config/test/boost_no_auto_multidecl.ipp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/boost_no_auto_multidecl.ipp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -0,0 +1,25 @@
+// Copyright (C) 2009 Andrey Semashev
+// 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 most recent version.
+
+// MACRO: BOOST_NO_AUTO_MULTIDECLARATIONS
+// TITLE: C++0x auto multideclarators unavailable
+// DESCRIPTION: The compiler does not support C++0x declarations of series of variables with automatically deduced type
+
+namespace boost_no_auto_multideclarations {
+
+void check(int& x, int*& y)
+{
+}
+
+int test()
+{
+ auto x = 10, *y = &x;
+ check(x, y);
+ return 0;
+}
+
+}

Modified: trunk/libs/config/test/config_info.cpp
==============================================================================
--- trunk/libs/config/test/config_info.cpp (original)
+++ trunk/libs/config/test/config_info.cpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -955,6 +955,8 @@
    PRINT_MACRO(BOOST_NO_ADL_BARRIER);
    PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
    PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
+ PRINT_MACRO(BOOST_NO_AUTO_DECLARATIONS);
+ PRINT_MACRO(BOOST_NO_AUTO_MULTIDECLARATIONS);
    PRINT_MACRO(BOOST_NO_AUTO_PTR);
    PRINT_MACRO(BOOST_NO_CHAR16_T);
    PRINT_MACRO(BOOST_NO_CHAR32_T);
@@ -1034,6 +1036,7 @@
    PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES);
    PRINT_MACRO(BOOST_NO_VOID_RETURNS);
 
+
    // END GENERATED BLOCK
 
    PRINT_MACRO(BOOST_INTEL);

Modified: trunk/libs/config/test/config_test.cpp
==============================================================================
--- trunk/libs/config/test/config_test.cpp (original)
+++ trunk/libs/config/test/config_test.cpp 2009-03-12 10:48:49 EDT (Thu, 12 Mar 2009)
@@ -1,4 +1,4 @@
-// This file was automatically generated on Fri Feb 20 21:15:18 2009
+// This file was automatically generated on Thu Mar 12 17:32:05 2009
 // by libs/config/tools/generate.cpp
 // Copyright John Maddock 2002-4.
 // Use, modification and distribution are subject to the
@@ -37,6 +37,16 @@
 #else
 namespace boost_no_array_type_specializations = empty_boost;
 #endif
+#ifndef BOOST_NO_AUTO_DECLARATIONS
+#include "boost_no_auto_declarations.ipp"
+#else
+namespace boost_no_auto_declarations = empty_boost;
+#endif
+#ifndef BOOST_NO_AUTO_MULTIDECLARATIONS
+#include "boost_no_auto_multidecl.ipp"
+#else
+namespace boost_no_auto_multideclarations = empty_boost;
+#endif
 #ifndef BOOST_NO_AUTO_PTR
 #include "boost_no_auto_ptr.ipp"
 #else
@@ -971,6 +981,16 @@
       std::cerr << "Failed test for BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+ if(0 != boost_no_auto_declarations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_AUTO_DECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_auto_multideclarations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_AUTO_MULTIDECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
    if(0 != boost_no_auto_ptr::test())
    {
       std::cerr << "Failed test for BOOST_NO_AUTO_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk