Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56678 - in branches/release: boost/config boost/config/compiler boost/config/stdlib boost/tr1 boost/type_traits libs/config libs/config/doc libs/config/doc/html libs/config/doc/html/boost_config libs/config/test libs/config/test/all libs/tr1 libs/tr1/doc libs/tr1/test libs/type_traits libs/type_traits/test
From: john_at_[hidden]
Date: 2009-10-09 12:16:06


Author: johnmaddock
Date: 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
New Revision: 56678
URL: http://svn.boost.org/trac/boost/changeset/56678

Log:
Merge interlinked changes in config, type_traits and TR1 libraries.
Added:
   branches/release/boost/type_traits/is_base_of_tr1.hpp
      - copied unchanged from r56675, /trunk/boost/type_traits/is_base_of_tr1.hpp
   branches/release/libs/config/test/boost_no_function_template_default_args.ipp
      - copied unchanged from r56676, /trunk/libs/config/test/boost_no_function_template_default_args.ipp
   branches/release/libs/config/test/boost_no_sfinae_expr.ipp
      - copied unchanged from r56676, /trunk/libs/config/test/boost_no_sfinae_expr.ipp
   branches/release/libs/config/test/no_function_template_default_args_fail.cpp
      - copied unchanged from r56676, /trunk/libs/config/test/no_function_template_default_args_fail.cpp
   branches/release/libs/config/test/no_function_template_default_args_pass.cpp
      - copied unchanged from r56676, /trunk/libs/config/test/no_function_template_default_args_pass.cpp
   branches/release/libs/config/test/no_sfinae_expr_fail.cpp
      - copied unchanged from r56676, /trunk/libs/config/test/no_sfinae_expr_fail.cpp
   branches/release/libs/config/test/no_sfinae_expr_pass.cpp
      - copied unchanged from r56676, /trunk/libs/config/test/no_sfinae_expr_pass.cpp
Properties modified:
   branches/release/boost/config/ (props changed)
   branches/release/boost/tr1/ (props changed)
   branches/release/boost/type_traits/ (props changed)
   branches/release/libs/config/ (props changed)
   branches/release/libs/tr1/ (props changed)
   branches/release/libs/type_traits/ (props changed)
Text files modified:
   branches/release/boost/config/compiler/borland.hpp | 17 +++++----
   branches/release/boost/config/compiler/codegear.hpp | 7 ++-
   branches/release/boost/config/compiler/common_edg.hpp | 2 +
   branches/release/boost/config/compiler/digitalmars.hpp | 1
   branches/release/boost/config/compiler/gcc.hpp | 30 ++++++++++++++---
   branches/release/boost/config/compiler/hp_acc.hpp | 2 +
   branches/release/boost/config/compiler/intel.hpp | 4 +-
   branches/release/boost/config/compiler/metrowerks.hpp | 2 +
   branches/release/boost/config/compiler/mpw.hpp | 2 +
   branches/release/boost/config/compiler/pgi.hpp | 2 +
   branches/release/boost/config/compiler/sunpro_cc.hpp | 2 +
   branches/release/boost/config/compiler/vacpp.hpp | 2 +
   branches/release/boost/config/compiler/visualc.hpp | 8 ++++
   branches/release/boost/config/stdlib/dinkumware.hpp | 6 ++-
   branches/release/boost/tr1/type_traits.hpp | 3 +
   branches/release/boost/type_traits/has_new_operator.hpp | 4 +-
   branches/release/boost/type_traits/intrinsics.hpp | 2
   branches/release/boost/type_traits/is_abstract.hpp | 4 +-
   branches/release/boost/type_traits/is_base_and_derived.hpp | 13 ++++--
   branches/release/boost/type_traits/is_base_of.hpp | 19 ++++++++--
   branches/release/boost/type_traits/is_convertible.hpp | 2
   branches/release/boost/type_traits/is_function.hpp | 4 +-
   branches/release/boost/type_traits/is_member_function_pointer.hpp | 4 +-
   branches/release/boost/type_traits/is_member_pointer.hpp | 2
   branches/release/boost/type_traits/is_signed.hpp | 2
   branches/release/boost/type_traits/is_virtual_base_of.hpp | 8 ++--
   branches/release/libs/config/doc/html/boost_config/acknowledgements.html | 4 +-
   branches/release/libs/config/doc/html/boost_config/boost_macro_reference.html | 68 ++++++++++++++++++++++++++++++++++-----
   branches/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html | 4 +-
   branches/release/libs/config/doc/html/boost_config/rationale.html | 4 +-
   branches/release/libs/config/doc/html/index.html | 8 ++--
   branches/release/libs/config/doc/macro_reference.qbk | 14 +++++++
   branches/release/libs/config/test/Jamfile.v2 | 2
   branches/release/libs/config/test/all/Jamfile.v2 | 8 ++++
   branches/release/libs/config/test/boost_no_deleted_functions.ipp | 6 +-
   branches/release/libs/config/test/config_info.cpp | 6 +++
   branches/release/libs/config/test/config_test.cpp | 22 ++++++++++++
   branches/release/libs/tr1/doc/Jamfile.v2 | 1
   branches/release/libs/tr1/test/Jamfile.v2 | 4 +-
   branches/release/libs/type_traits/test/is_base_and_derived_test.cpp | 6 +++
   branches/release/libs/type_traits/test/is_base_of_test.cpp | 10 +++++
   branches/release/libs/type_traits/test/is_virtual_base_of_test.cpp | 18 ++++++++++
   branches/release/libs/type_traits/test/test.hpp | 1
   branches/release/libs/type_traits/test/tricky_function_type_test.cpp | 4 ++
   44 files changed, 267 insertions(+), 77 deletions(-)

Modified: branches/release/boost/config/compiler/borland.hpp
==============================================================================
--- branches/release/boost/config/compiler/borland.hpp (original)
+++ branches/release/boost/config/compiler/borland.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -17,7 +17,7 @@
 #endif
 
 // last known compiler version:
-#if (__BORLANDC__ > 0x610)
+#if (__BORLANDC__ > 0x613)
 //# if defined(BOOST_ASSERT_CONFIG)
 # error "Unknown compiler version - please run the configure tests and report the results"
 //# else
@@ -107,30 +107,29 @@
 # endif
 #endif
 
-// Borland C++ Builder 2007 December 2007 Update and below:
-//#if (__BORLANDC__ <= 0x593)
-#if (__BORLANDC__ <= 0x610) // Beman has asked Alisdair for more info
+#if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info
    // we shouldn't really need this - but too many things choke
    // without it, this needs more investigation:
 # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 # define BOOST_NO_IS_ABSTRACT
 # define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+# define BOOST_NO_USING_TEMPLATE
+# define BOOST_SP_NO_SP_CONVERTIBLE
 
 // Temporary workaround
 #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 #endif
 
 // Borland C++ Builder 2008 and below:
-#if (__BORLANDC__ <= 0x601)
 # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_ILLEGAL_CV_REFERENCES
 # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 # define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-# define BOOST_NO_USING_TEMPLATE
 # define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
 # define BOOST_NO_NESTED_FRIENDSHIP
 # define BOOST_NO_TYPENAME_WITH_CTOR
+#if (__BORLANDC__ < 0x600)
+# define BOOST_ILLEGAL_CV_REFERENCES
 #endif
 
 //
@@ -169,12 +168,14 @@
 #define BOOST_NO_CONSTEXPR
 #define BOOST_NO_DEFAULTED_FUNCTIONS
 #define BOOST_NO_DELETED_FUNCTIONS
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_INITIALIZER_LISTS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS // UTF-8 still not supported
 #define BOOST_NO_VARIADIC_TEMPLATES
@@ -235,7 +236,7 @@
 //
 // ABI fixing headers:
 //
-#if __BORLANDC__ < 0x600 // not implemented for version 6 compiler yet
+#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet
 #ifndef BOOST_ABI_PREFIX
 # define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
 #endif

Modified: branches/release/boost/config/compiler/codegear.hpp
==============================================================================
--- branches/release/boost/config/compiler/codegear.hpp (original)
+++ branches/release/boost/config/compiler/codegear.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -20,7 +20,7 @@
 //
 // versions check:
 // last known and checked version is 0x610
-#if (__CODEGEARC__ > 0x610)
+#if (__CODEGEARC__ > 0x613)
 # if defined(BOOST_ASSERT_CONFIG)
 # error "Unknown compiler version - please run the configure tests and report the results"
 # else
@@ -29,7 +29,7 @@
 #endif
 
 // CodeGear C++ Builder 2009
-#if (__CODEGEARC__ <= 0x610)
+#if (__CODEGEARC__ <= 0x613)
 # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
@@ -42,6 +42,7 @@
 # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 # define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
 # define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
+# define BOOST_SP_NO_SP_CONVERTIBLE
 
 // Temporary hack, until specific MPL preprocessed headers are generated
 # define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
@@ -80,11 +81,13 @@
 #define BOOST_NO_DEFAULTED_FUNCTIONS
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_INITIALIZER_LISTS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/common_edg.hpp
==============================================================================
--- branches/release/boost/config/compiler/common_edg.hpp (original)
+++ branches/release/boost/config/compiler/common_edg.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -75,11 +75,13 @@
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/digitalmars.hpp
==============================================================================
--- branches/release/boost/config/compiler/digitalmars.hpp (original)
+++ branches/release/boost/config/compiler/digitalmars.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -75,6 +75,7 @@
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/gcc.hpp
==============================================================================
--- branches/release/boost/config/compiler/gcc.hpp (original)
+++ branches/release/boost/config/compiler/gcc.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -64,6 +64,9 @@
 // All problems to gcc-3.x and earlier here:
 //
 #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+# ifdef __OPEN64__
+# define BOOST_NO_IS_ABSTRACT
+# endif
 #endif
 
 #ifndef __EXCEPTIONS
@@ -104,14 +107,10 @@
 // C++0x features not implemented in any GCC version
 //
 #define BOOST_NO_CONSTEXPR
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
-// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS until it
-// gets fixed. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
-#define BOOST_NO_SCOPED_ENUMS
 #define BOOST_NO_TEMPLATE_ALIASES
 
 // C++0x features in 4.3.n and later
@@ -126,6 +125,7 @@
 # define BOOST_HAS_VARIADIC_TMPL
 #else
 # define BOOST_NO_DECLTYPE
+# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 # define BOOST_NO_RVALUE_REFERENCES
 # define BOOST_NO_STATIC_ASSERT
 
@@ -152,6 +152,24 @@
 # define BOOST_NO_UNICODE_LITERALS
 #endif
 
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
+# define BOOST_NO_SFINAE_EXPR
+#endif
+
+// C++0x features in 4.4.1 and later
+//
+#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40401) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
+// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.4.1
+// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
+# define BOOST_NO_SCOPED_ENUMS
+#endif
+
+// C++0x features in 4.5.n and later
+//
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
+# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#endif
+
 // ConceptGCC compiler:
 // http://www.generic-programming.org/software/ConceptGCC/
 #ifdef __GXX_CONCEPTS__
@@ -172,8 +190,8 @@
 # error "Compiler not configured - please reconfigure"
 #endif
 //
-// last known and checked version is 4.3 (Pre-release):
-#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 3))
+// last known and checked version is 4.4 (Pre-release):
+#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 4))
 # if defined(BOOST_ASSERT_CONFIG)
 # error "Unknown compiler version - please run the configure tests and report the results"
 # else

Modified: branches/release/boost/config/compiler/hp_acc.hpp
==============================================================================
--- branches/release/boost/config/compiler/hp_acc.hpp (original)
+++ branches/release/boost/config/compiler/hp_acc.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -103,12 +103,14 @@
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_INITIALIZER_LISTS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/intel.hpp
==============================================================================
--- branches/release/boost/config/compiler/intel.hpp (original)
+++ branches/release/boost/config/compiler/intel.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -99,7 +99,7 @@
 # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 # endif
 #endif
-#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1100)
+#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1110)
 // GCC or VC emulation:
 #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
 #endif
@@ -159,7 +159,7 @@
 
 //
 // last known and checked version:
-#if (BOOST_INTEL_CXX_VERSION > 1100)
+#if (BOOST_INTEL_CXX_VERSION > 1110)
 # if defined(BOOST_ASSERT_CONFIG)
 # error "Unknown compiler version - please run the configure tests and report the results"
 # elif defined(_MSC_VER)

Modified: branches/release/boost/config/compiler/metrowerks.hpp
==============================================================================
--- branches/release/boost/config/compiler/metrowerks.hpp (original)
+++ branches/release/boost/config/compiler/metrowerks.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -103,11 +103,13 @@
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_INITIALIZER_LISTS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/mpw.hpp
==============================================================================
--- branches/release/boost/config/compiler/mpw.hpp (original)
+++ branches/release/boost/config/compiler/mpw.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -51,12 +51,14 @@
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_INITIALIZER_LISTS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/pgi.hpp
==============================================================================
--- branches/release/boost/config/compiler/pgi.hpp (original)
+++ branches/release/boost/config/compiler/pgi.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -43,12 +43,14 @@
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_INITIALIZER_LISTS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/sunpro_cc.hpp
==============================================================================
--- branches/release/boost/config/compiler/sunpro_cc.hpp (original)
+++ branches/release/boost/config/compiler/sunpro_cc.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -96,12 +96,14 @@
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_INITIALIZER_LISTS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/vacpp.hpp
==============================================================================
--- branches/release/boost/config/compiler/vacpp.hpp (original)
+++ branches/release/boost/config/compiler/vacpp.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -72,11 +72,13 @@
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS

Modified: branches/release/boost/config/compiler/visualc.hpp
==============================================================================
--- branches/release/boost/config/compiler/visualc.hpp (original)
+++ branches/release/boost/config/compiler/visualc.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -14,6 +14,12 @@
 
 #define BOOST_MSVC _MSC_VER
 
+#if _MSC_FULL_VER > 100000000
+# define BOOST_MSVC_FULL_VER _MSC_FULL_VER
+#else
+# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
+#endif
+
 // turn off the warnings before we #include anything
 #pragma warning( disable : 4503 ) // warning: decorated name length exceeded
 
@@ -168,10 +174,12 @@
 #define BOOST_NO_DELETED_FUNCTIONS
 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #define BOOST_NO_EXTERN_TEMPLATE
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #define BOOST_NO_INITIALIZER_LISTS
 #define BOOST_NO_NULLPTR
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES

Modified: branches/release/boost/config/stdlib/dinkumware.hpp
==============================================================================
--- branches/release/boost/config/stdlib/dinkumware.hpp (original)
+++ branches/release/boost/config/stdlib/dinkumware.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -55,8 +55,10 @@
 # define BOOST_HAS_MACRO_USE_FACET
 # ifndef _CPPLIB_VER
       // Updated Dinkum library defines this, and provides
- // its own min and max definitions.
-# define BOOST_NO_STD_MIN_MAX
+ // its own min and max definitions, as does MTA version.
+# ifndef __MTA__
+# define BOOST_NO_STD_MIN_MAX
+# endif
 # define BOOST_NO_MS_INT64_NUMERIC_LIMITS
 # endif
 #endif

Modified: branches/release/boost/tr1/type_traits.hpp
==============================================================================
--- branches/release/boost/tr1/type_traits.hpp (original)
+++ branches/release/boost/tr1/type_traits.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -19,6 +19,7 @@
 #else
 // Boost Type Traits:
 #include <boost/type_traits.hpp>
+#include <boost/type_traits/is_base_of_tr1.hpp>
 
 namespace std { namespace tr1{
 
@@ -63,7 +64,7 @@
    using ::boost::rank;
    using ::boost::extent;
    using ::boost::is_same;
- using ::boost::is_base_of;
+ using ::boost::tr1::is_base_of;
    using ::boost::is_convertible;
    using ::boost::remove_const;
    using ::boost::remove_volatile;

Modified: branches/release/boost/type_traits/has_new_operator.hpp
==============================================================================
--- branches/release/boost/type_traits/has_new_operator.hpp (original)
+++ branches/release/boost/type_traits/has_new_operator.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -85,7 +85,7 @@
             BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl<T>::template check_sig<T>(0)));
             BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl<T>::template check_sig2<T>(0)));
         #else
- #if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+ #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
                 #pragma warning(push)
                 #pragma warning(disable:6334)
             #endif
@@ -93,7 +93,7 @@
             BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig<T>(0)));
             BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2<T>(0)));
 
- #if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+ #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
                 #pragma warning(pop)
             #endif
         #endif

Modified: branches/release/boost/type_traits/intrinsics.hpp
==============================================================================
--- branches/release/boost/type_traits/intrinsics.hpp (original)
+++ branches/release/boost/type_traits/intrinsics.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -82,7 +82,7 @@
 # define BOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
-#if defined(BOOST_MSVC) && defined(_MSC_FULL_VER) && (_MSC_FULL_VER >=140050215)
+#if defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215)
 # include <boost/type_traits/is_same.hpp>
 
 # define BOOST_IS_UNION(T) __is_union(T)

Modified: branches/release/boost/type_traits/is_abstract.hpp
==============================================================================
--- branches/release/boost/type_traits/is_abstract.hpp (original)
+++ branches/release/boost/type_traits/is_abstract.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -94,12 +94,12 @@
 #ifdef __GNUC__
    BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2<T>::template check_sig<T>(0)));
 #else
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
    BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig<T>(0)));
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 #endif

Modified: branches/release/boost/type_traits/is_base_and_derived.hpp
==============================================================================
--- branches/release/boost/type_traits/is_base_and_derived.hpp (original)
+++ branches/release/boost/type_traits/is_base_and_derived.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -15,10 +15,10 @@
 #include <boost/type_traits/is_same.hpp>
 #include <boost/type_traits/is_convertible.hpp>
 #include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/remove_cv.hpp>
 #include <boost/config.hpp>
 #include <boost/static_assert.hpp>
 #endif
+#include <boost/type_traits/remove_cv.hpp>
 
 // should be the last #include
 #include <boost/type_traits/detail/bool_trait_def.hpp>
@@ -133,7 +133,7 @@
 template<typename B, typename D>
 struct is_base_and_derived_impl2
 {
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
@@ -156,7 +156,7 @@
 
     BOOST_STATIC_CONSTANT(bool, value =
         sizeof(bd_helper<B,D>::check_sig(Host(), 0)) == sizeof(type_traits::yes_type));
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 };
@@ -212,7 +212,7 @@
     typedef is_base_and_derived_select<
        ::boost::is_class<B>::value,
        ::boost::is_class<D>::value,
- ::boost::is_same<B,D>::value> selector;
+ ::boost::is_same<ncvB,ncvD>::value> selector;
     typedef typename selector::template rebind<ncvB,ncvD> binder;
     typedef typename binder::type bound_type;
 
@@ -222,7 +222,10 @@
 template <typename B, typename D>
 struct is_base_and_derived_impl
 {
- BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_BASE_OF(B,D));
+ typedef typename remove_cv<B>::type ncvB;
+ typedef typename remove_cv<D>::type ncvD;
+
+ BOOST_STATIC_CONSTANT(bool, value = (BOOST_IS_BASE_OF(B,D) && ! ::boost::is_same<ncvB,ncvD>::value));
 };
 #endif
 } // namespace detail

Modified: branches/release/boost/type_traits/is_base_of.hpp
==============================================================================
--- branches/release/boost/type_traits/is_base_of.hpp (original)
+++ branches/release/boost/type_traits/is_base_of.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -11,21 +11,32 @@
 
 #include <boost/type_traits/is_base_and_derived.hpp>
 #include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits/is_class.hpp>
 #include <boost/type_traits/detail/ice_or.hpp>
+#include <boost/type_traits/detail/ice_and.hpp>
 
 // should be the last #include
 #include <boost/type_traits/detail/bool_trait_def.hpp>
 
 namespace boost {
 
+ namespace detail{
+ template <class B, class D>
+ struct is_base_of_imp
+ {
+ typedef typename remove_cv<B>::type ncvB;
+ typedef typename remove_cv<D>::type ncvD;
+ BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_or<
+ (::boost::detail::is_base_and_derived_impl<ncvB,ncvD>::value),
+ (::boost::type_traits::ice_and< ::boost::is_same<ncvB,ncvD>::value, ::boost::is_class<ncvB>::value>::value)>::value));
+ };
+ }
+
 BOOST_TT_AUX_BOOL_TRAIT_DEF2(
       is_base_of
     , Base
     , Derived
- , (::boost::type_traits::ice_or<
- (::boost::detail::is_base_and_derived_impl<Base,Derived>::value),
- (::boost::is_same<Base,Derived>::value)>::value)
- )
+ , (::boost::detail::is_base_of_imp<Base, Derived>::value))
 
 #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)

Modified: branches/release/boost/type_traits/is_convertible.hpp
==============================================================================
--- branches/release/boost/type_traits/is_convertible.hpp (original)
+++ branches/release/boost/type_traits/is_convertible.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -256,7 +256,7 @@
 #ifdef BOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4244)
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(disable:6334)
 #endif
 #endif

Modified: branches/release/boost/type_traits/is_function.hpp
==============================================================================
--- branches/release/boost/type_traits/is_function.hpp (original)
+++ branches/release/boost/type_traits/is_function.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -65,7 +65,7 @@
 template <typename T>
 struct is_function_impl
 {
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
@@ -74,7 +74,7 @@
         bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))
         == sizeof(::boost::type_traits::yes_type)
         );
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 };

Modified: branches/release/boost/type_traits/is_member_function_pointer.hpp
==============================================================================
--- branches/release/boost/type_traits/is_member_function_pointer.hpp (original)
+++ branches/release/boost/type_traits/is_member_function_pointer.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -64,7 +64,7 @@
 {
     template <typename T> struct result_
     {
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
@@ -75,7 +75,7 @@
             bool, value = (
                 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))
             ));
-#if BOOST_WORKAROUND(_MSC_FULL_VER, >= 140050000)
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
     };

Modified: branches/release/boost/type_traits/is_member_pointer.hpp
==============================================================================
--- branches/release/boost/type_traits/is_member_pointer.hpp (original)
+++ branches/release/boost/type_traits/is_member_pointer.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -50,7 +50,7 @@
 BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::is_member_function_pointer<T>::value)
 BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
 
-#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003)
+#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003) && !BOOST_WORKAROUND(__IBMCPP__, <=600)
 BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const,true)
 BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*volatile,true)
 BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const volatile,true)

Modified: branches/release/boost/type_traits/is_signed.hpp
==============================================================================
--- branches/release/boost/type_traits/is_signed.hpp (original)
+++ branches/release/boost/type_traits/is_signed.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -30,7 +30,7 @@
 struct is_signed_helper
 {
    typedef typename remove_cv<T>::type no_cv_t;
- BOOST_STATIC_CONSTANT(bool, value = (static_cast<no_cv_t>(-1) < 0));
+ BOOST_STATIC_CONSTANT(bool, value = (!(static_cast<no_cv_t>(-1) > 0)));
 };
 
 template <bool integral_type>

Modified: branches/release/boost/type_traits/is_virtual_base_of.hpp
==============================================================================
--- branches/release/boost/type_traits/is_virtual_base_of.hpp (original)
+++ branches/release/boost/type_traits/is_virtual_base_of.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -42,14 +42,14 @@
        X();
        X(const X&);
        X& operator=(const X&);
- ~X();
+ ~X()throw();
     };
     struct Y : public virtual Derived
     {
        Y();
        Y(const Y&);
        Y& operator=(const Y&);
- ~Y();
+ ~Y()throw();
     };
 #else
     struct X : Derived, virtual Base
@@ -57,14 +57,14 @@
        X();
        X(const X&);
        X& operator=(const X&);
- ~X();
+ ~X()throw();
     };
     struct Y : Derived
     {
        Y();
        Y(const Y&);
        Y& operator=(const Y&);
- ~Y();
+ ~Y()throw();
     };
 #endif
     BOOST_STATIC_CONSTANT(bool, value = (sizeof(X)==sizeof(Y)));

Modified: branches/release/libs/config/doc/html/boost_config/acknowledgements.html
==============================================================================
--- branches/release/libs/config/doc/html/boost_config/acknowledgements.html (original)
+++ branches/release/libs/config/doc/html/boost_config/acknowledgements.html 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -3,8 +3,8 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Acknowledgements</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Boost.Config">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../index.html" title="Boost.Config">
 <link rel="up" href="../index.html" title="Boost.Config">
 <link rel="prev" href="rationale.html" title="Rationale">
 </head>

Modified: branches/release/libs/config/doc/html/boost_config/boost_macro_reference.html
==============================================================================
--- branches/release/libs/config/doc/html/boost_config/boost_macro_reference.html (original)
+++ branches/release/libs/config/doc/html/boost_config/boost_macro_reference.html 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -3,8 +3,8 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Boost Macro Reference</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="Microsoft FrontPage 5.0">
-<link rel="start" href="../index.html" title="Boost.Config">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../index.html" title="Boost.Config">
 <link rel="up" href="../index.html" title="Boost.Config">
 <link rel="prev" href="../index.html" title="Boost.Config">
 <link rel="next" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
@@ -20,8 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../index.html">
-<img src="../../../../../doc/html/images/prev.png" alt="Prev" width="19" height="19"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up" width="19" height="19"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home" width="19" height="19"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/next.png" alt="Next" width="19" height="19"></a>
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -799,6 +798,23 @@
 <tr>
 <td>
               <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_SFINAE_EXPR</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Compiler
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support usage of SFINAE with arbitrary expressions.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
                 <code class="computeroutput"><span class="identifier">BOOST_NO_STD_ALLOCATOR</span></code>
               </p>
               </td>
@@ -2428,8 +2444,7 @@
 <tr>
 <td>
               <p>
- <code class="computeroutput"><span class="identifier">
- BOOST_NO_0X_HDR_THREAD</span></code>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_THREAD</span></code>
               </p>
               </td>
 <td>
@@ -2645,6 +2660,19 @@
 <tr>
 <td>
               <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support default template arguments for function
+ templates.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
                 <code class="computeroutput"><span class="identifier">BOOST_NO_INITIALIZER_LISTS</span></code>
               </p>
               </td>
@@ -3192,7 +3220,28 @@
 <td>
               <p>
                 Defined if the compiler is really Microsoft Visual C++, as opposed
- to one of the many other compilers that also define <code class="computeroutput"><span class="identifier">_MSC_VER</span></code>.
+ to one of the many other compilers that also define <code class="computeroutput"><span class="identifier">_MSC_VER</span></code>. Has the same value as
+ _MSC_VER.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MSVC_FULL_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Defined to a normalised 9 digit version of _MSC_FULL_VER (which sometimes
+ only has 8 digits), the macro has the form VVMMPPPPP where VV is
+ the major version number, MM is the minor version number, and PPPPP
+ is the compiler build number.
               </p>
               </td>
 </tr>
@@ -3493,8 +3542,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../index.html">
-<img src="../../../../../doc/html/images/prev.png" alt="Prev" width="19" height="19"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up" width="19" height="19"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home" width="19" height="19"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/next.png" alt="Next" width="19" height="19"></a>
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: branches/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
==============================================================================
--- branches/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html (original)
+++ branches/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -3,8 +3,8 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Guidelines for Boost Authors</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Boost.Config">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../index.html" title="Boost.Config">
 <link rel="up" href="../index.html" title="Boost.Config">
 <link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">
 <link rel="next" href="rationale.html" title="Rationale">

Modified: branches/release/libs/config/doc/html/boost_config/rationale.html
==============================================================================
--- branches/release/libs/config/doc/html/boost_config/rationale.html (original)
+++ branches/release/libs/config/doc/html/boost_config/rationale.html 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -3,8 +3,8 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Rationale</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Boost.Config">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../index.html" title="Boost.Config">
 <link rel="up" href="../index.html" title="Boost.Config">
 <link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
 <link rel="next" href="acknowledgements.html" title="Acknowledgements">

Modified: branches/release/libs/config/doc/html/index.html
==============================================================================
--- branches/release/libs/config/doc/html/index.html (original)
+++ branches/release/libs/config/doc/html/index.html 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -3,8 +3,8 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Boost.Config</title>
 <link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="Boost.Config">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="index.html" title="Boost.Config">
 <link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -28,7 +28,7 @@
 </h3></div></div></div>
 <div><p class="copyright">Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
 <div><div class="legalnotice">
-<a name="id3024638"></a><p>
+<a name="id770460"></a><p>
         Distributed under 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)
       </p>
@@ -960,7 +960,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: May 15, 2009 at 15:05:51 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 06, 2009 at 09:16:56 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/release/libs/config/doc/macro_reference.qbk
==============================================================================
--- branches/release/libs/config/doc/macro_reference.qbk (original)
+++ branches/release/libs/config/doc/macro_reference.qbk 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -204,6 +204,9 @@
 The compiler does not support the "Substitution Failure Is Not An Error"
 meta-programming idiom.
 ]]
+[[`BOOST_NO_SFINAE_EXPR`][Compiler][
+The compiler does not support usage of SFINAE with arbitrary expressions.
+]]
 [[`BOOST_NO_STD_ALLOCATOR`][Standard library][
 The C++ standard library does not provide a standards conforming
 `std::allocator`.
@@ -580,6 +583,9 @@
 [[`BOOST_NO_EXTERN_TEMPLATE`][The compiler does not support
 explicit instantiation declarations for templates (`explicit template`).
 ]]
+[[`BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS`][The compiler does not support
+default template arguments for function templates.
+]]
 [[`BOOST_NO_INITIALIZER_LISTS`][
 The C++ compiler does not support C++0x initializer lists.
 ]]
@@ -785,7 +791,13 @@
 ]]
 [[`BOOST_MSVC`][`<boost/config.hpp>`][
 Defined if the compiler is really Microsoft Visual C++, as opposed to one
-of the many other compilers that also define `_MSC_VER`.
+of the many other compilers that also define `_MSC_VER`. Has the same value as
+_MSC_VER.
+]]
+[[`BOOST_MSVC_FULL_VER`][`<boost/config.hpp>`][
+Defined to a normalised 9 digit version of _MSC_FULL_VER (which sometimes only has 8 digits),
+the macro has the form VVMMPPPPP where VV is the major version number, MM is the minor version number, and
+PPPPP is the compiler build number.
 ]]
 [[`BOOST_INTEL`][`<boost/config.hpp>`][
 Defined if the compiler is an Intel compiler, takes the same value as the

Modified: branches/release/libs/config/test/Jamfile.v2
==============================================================================
--- branches/release/libs/config/test/Jamfile.v2 (original)
+++ branches/release/libs/config/test/Jamfile.v2 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -18,7 +18,7 @@
 
         switch $(osname)
         {
- case "Sun*" : OTHERFLAGS = "-lpthread" ;
+ case "Sun*" : OTHERFLAGS = "-lpthread -lrt" ;
                 case "*BSD*" : OTHERFLAGS = "-lpthread" ;
         }
 }

Modified: branches/release/libs/config/test/all/Jamfile.v2
==============================================================================
--- branches/release/libs/config/test/all/Jamfile.v2 (original)
+++ branches/release/libs/config/test/all/Jamfile.v2 2009-10-09 12:16:02 EDT (Fri, 09 Oct 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 Thu May 21 11:08:48 2009
+# This file was automatically generated on Sun Aug 02 08:26:00 2009
 # by libs/config/tools/generate.cpp
 # Copyright John Maddock.
 # Use, modification and distribution are subject to the
@@ -319,6 +319,9 @@
 test-suite "BOOST_NO_EXTERN_TEMPLATE" :
 [ run ../no_extern_template_pass.cpp ]
 [ compile-fail ../no_extern_template_fail.cpp ] ;
+test-suite "BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS" :
+[ run ../no_function_template_default_args_pass.cpp ]
+[ compile-fail ../no_function_template_default_args_fail.cpp ] ;
 test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" :
 [ run ../no_function_type_spec_pass.cpp ]
 [ compile-fail ../no_function_type_spec_fail.cpp ] ;
@@ -418,6 +421,9 @@
 test-suite "BOOST_NO_SFINAE" :
 [ run ../no_sfinae_pass.cpp ]
 [ compile-fail ../no_sfinae_fail.cpp ] ;
+test-suite "BOOST_NO_SFINAE_EXPR" :
+[ run ../no_sfinae_expr_pass.cpp ]
+[ compile-fail ../no_sfinae_expr_fail.cpp ] ;
 test-suite "BOOST_NO_STRINGSTREAM" :
 [ run ../no_sstream_pass.cpp ]
 [ compile-fail ../no_sstream_fail.cpp ] ;

Modified: branches/release/libs/config/test/boost_no_deleted_functions.ipp
==============================================================================
--- branches/release/libs/config/test/boost_no_deleted_functions.ipp (original)
+++ branches/release/libs/config/test/boost_no_deleted_functions.ipp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -7,10 +7,10 @@
 // See http://www.boost.org/libs/config for more information.
 
 // MACRO: BOOST_NO_DELETED_FUNCTIONS
-// TITLE: C++0x delete functions unavailable
-// DESCRIPTION: The compiler does not support C++0x delete functions
+// TITLE: C++0x =delete functions unavailable
+// DESCRIPTION: The compiler does not support C++0x =delete functions
 
-namespace boost_no_constexpr {
+namespace boost_no_deleted_functions {
 
   struct foo {
     foo() = delete;

Modified: branches/release/libs/config/test/config_info.cpp
==============================================================================
--- branches/release/libs/config/test/config_info.cpp (original)
+++ branches/release/libs/config/test/config_info.cpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -305,6 +305,8 @@
   PRINT_MACRO(__QNXNTO__);
   PRINT_MACRO(__QNX__);
   PRINT_MACRO(_NTO_VERSION);
+ PRINT_MACRO(__OPEN64__);
+ PRINT_MACRO(__open64);
 }
 
 void print_stdlib_macros()
@@ -1000,6 +1002,7 @@
    PRINT_MACRO(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS);
    PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS);
    PRINT_MACRO(BOOST_NO_EXTERN_TEMPLATE);
+ PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS);
    PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING);
    PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS);
    PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION);
@@ -1031,6 +1034,7 @@
    PRINT_MACRO(BOOST_NO_RVALUE_REFERENCES);
    PRINT_MACRO(BOOST_NO_SCOPED_ENUMS);
    PRINT_MACRO(BOOST_NO_SFINAE);
+ PRINT_MACRO(BOOST_NO_SFINAE_EXPR);
    PRINT_MACRO(BOOST_NO_STATIC_ASSERT);
    PRINT_MACRO(BOOST_NO_STDC_NAMESPACE);
    PRINT_MACRO(BOOST_NO_STD_ALLOCATOR);
@@ -1073,6 +1077,8 @@
 
 
 
+
+
    // END GENERATED BLOCK
 
    PRINT_MACRO(BOOST_INTEL);

Modified: branches/release/libs/config/test/config_test.cpp
==============================================================================
--- branches/release/libs/config/test/config_test.cpp (original)
+++ branches/release/libs/config/test/config_test.cpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -1,4 +1,4 @@
-// This file was automatically generated on Thu May 21 11:08:48 2009
+// This file was automatically generated on Sun Aug 02 08:26:00 2009
 // by libs/config/tools/generate.cpp
 // Copyright John Maddock 2002-4.
 // Use, modification and distribution are subject to the
@@ -262,6 +262,11 @@
 #else
 namespace boost_no_extern_template = empty_boost;
 #endif
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#include "boost_no_function_template_default_args.ipp"
+#else
+namespace boost_no_function_template_default_args = empty_boost;
+#endif
 #ifndef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
 #include "boost_no_function_type_spec.ipp"
 #else
@@ -427,6 +432,11 @@
 #else
 namespace boost_no_sfinae = empty_boost;
 #endif
+#ifndef BOOST_NO_SFINAE_EXPR
+#include "boost_no_sfinae_expr.ipp"
+#else
+namespace boost_no_sfinae_expr = empty_boost;
+#endif
 #ifndef BOOST_NO_STRINGSTREAM
 #include "boost_no_sstream.ipp"
 #else
@@ -1331,6 +1341,11 @@
       std::cerr << "Failed test for BOOST_NO_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+ if(0 != boost_no_function_template_default_args::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
    if(0 != boost_no_function_type_specializations::test())
    {
       std::cerr << "Failed test for BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1496,6 +1511,11 @@
       std::cerr << "Failed test for BOOST_NO_SFINAE at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+ if(0 != boost_no_sfinae_expr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
    if(0 != boost_no_stringstream::test())
    {
       std::cerr << "Failed test for BOOST_NO_STRINGSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl;

Modified: branches/release/libs/tr1/doc/Jamfile.v2
==============================================================================
--- branches/release/libs/tr1/doc/Jamfile.v2 (original)
+++ branches/release/libs/tr1/doc/Jamfile.v2 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -53,7 +53,6 @@
         <format>pdf:<xsl:param>admon.graphics.extension=".svg"
         <format>pdf:<xsl:param>admon.graphics.path=$(boost-images)/
         <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
- <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
     ;
 
 

Modified: branches/release/libs/tr1/test/Jamfile.v2
==============================================================================
--- branches/release/libs/tr1/test/Jamfile.v2 (original)
+++ branches/release/libs/tr1/test/Jamfile.v2 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -60,14 +60,14 @@
       : # test-files
       : # requirements
       <include>$(BOOST_ROOT)/libs/type_traits/test
- <define>TEST_STD=1 $(TR1_PROPERTIES) ] ;
+ <define>TEST_STD=2005 $(TR1_PROPERTIES) ] ;
    }
 # Commented due to conflict between test_complex in this dir
 # and in std_headers.
    for local file5 in [ glob std_headers/*.cpp ]
    {
       all_rules += [ compile $(file5)
- : <define>TEST_STD=1 $(TR1_PROPERTIES)
+ : <define>TEST_STD=2005 $(TR1_PROPERTIES)
       : $(file5:B)_std_header
       ] ;
    }

Modified: branches/release/libs/type_traits/test/is_base_and_derived_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_base_and_derived_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_base_and_derived_test.cpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -30,6 +30,7 @@
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Derived,Base>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Derived,Derived>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,Base>::value), false);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<const Base,Base>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,Derived>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,MultiBase>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Derived,MultiBase>::value), true);
@@ -40,8 +41,13 @@
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,const void>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<void,Derived>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<const void,Derived>::value), false);
+#if defined(TEST_STD) && (TEST_STD < 2006)
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<int, int>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<const int, int>::value), true);
+#else
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<int, int>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<const int, int>::value), false);
+#endif
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<VB,VD>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<VD,VB>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<test_abc1,test_abc3>::value), true);

Modified: branches/release/libs/type_traits/test/is_base_of_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_base_of_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_base_of_test.cpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -19,8 +19,11 @@
 
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived,Base>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived,Derived>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived,const Derived>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Base>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Derived>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<const Base,Derived>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,const Derived>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,MultiBase>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived,MultiBase>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived2,MultiBase>::value), true);
@@ -30,8 +33,13 @@
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,const void>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<void,Derived>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<const void,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<int, int>::value), true); // really it is!!!!!
+#if defined(TEST_STD) && (TEST_STD < 2006)
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<int, int>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<const int, int>::value), true);
+#else
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<int, int>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<const int, int>::value), false);
+#endif
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<VB,VD>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<VD,VB>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<test_abc1,test_abc3>::value), true);

Modified: branches/release/libs/type_traits/test/is_virtual_base_of_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_virtual_base_of_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_virtual_base_of_test.cpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -9,6 +9,21 @@
 #include "check_integral_constant.hpp"
 #include <boost/type_traits/is_virtual_base_of.hpp>
 
+// for bug report 3317: https://svn.boost.org/trac/boost/ticket/3317
+class B
+{
+public:
+ B();
+ virtual ~B()throw();
+};
+
+class D : public B
+{
+public:
+ D();
+ virtual ~D()throw();
+};
+
 TT_TEST_BEGIN(is_virtual_base_of)
 
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Derived,Base>::value), false);
@@ -42,6 +57,9 @@
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit4,boost::noncopyable>::value), false);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<int_convertible,virtual_inherit5>::value), true);
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit5,int_convertible>::value), false);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,virtual_inherit6>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit6,Base>::value), false);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<B,D>::value), false);
 
 TT_TEST_END
 

Modified: branches/release/libs/type_traits/test/test.hpp
==============================================================================
--- branches/release/libs/type_traits/test/test.hpp (original)
+++ branches/release/libs/type_traits/test/test.hpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -370,6 +370,7 @@
 struct virtual_inherit3 : private virtual Base {};
 struct virtual_inherit4 : virtual boost::noncopyable {};
 struct virtual_inherit5 : virtual int_convertible {};
+struct virtual_inherit6 : virtual Base { virtual ~virtual_inherit6()throw(); };
 
 typedef void foo0_t();
 typedef void foo1_t(int);

Modified: branches/release/libs/type_traits/test/tricky_function_type_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/tricky_function_type_test.cpp (original)
+++ branches/release/libs/type_traits/test/tricky_function_type_test.cpp 2009-10-09 12:16:02 EDT (Fri, 09 Oct 2009)
@@ -39,7 +39,11 @@
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo0_t>::value, false);
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo0_t>::value, false);
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<foo0_t>::value, false);
+#if defined(TEST_STD) && (TEST_STD < 2006)
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<foo0_t, foo0_t>::value), true); // TR1 required behaviour (new to 1.34)
+#else
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<foo0_t, foo0_t>::value), false); // C++0x required behaviour (new to 1.40)
+#endif
 BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<foo0_t, int>::value), false);
 
 


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