$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r55361 - in trunk: boost/config/compiler libs/config/doc libs/config/test libs/config/test/all
From: bdawes_at_[hidden]
Date: 2009-08-02 10:01:02
Author: bemandawes
Date: 2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
New Revision: 55361
URL: http://svn.boost.org/trac/boost/changeset/55361
Log:
Add BOOST_NO_SFINAE_EXPR and BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS (Mathias Gaunard)
Added:
   trunk/libs/config/test/boost_no_function_template_default_args.ipp   (contents, props changed)
   trunk/libs/config/test/boost_no_sfinae_expr.ipp   (contents, props changed)
   trunk/libs/config/test/no_function_template_default_args_fail.cpp   (contents, props changed)
   trunk/libs/config/test/no_function_template_default_args_pass.cpp   (contents, props changed)
   trunk/libs/config/test/no_sfinae_expr_fail.cpp   (contents, props changed)
   trunk/libs/config/test/no_sfinae_expr_pass.cpp   (contents, props changed)
Text files modified: 
   trunk/boost/config/compiler/borland.hpp     |     2 ++                                      
   trunk/boost/config/compiler/codegear.hpp    |     2 ++                                      
   trunk/boost/config/compiler/common_edg.hpp  |     2 ++                                      
   trunk/boost/config/compiler/digitalmars.hpp |     1 +                                       
   trunk/boost/config/compiler/gcc.hpp         |    16 +++++++++++++---                        
   trunk/boost/config/compiler/hp_acc.hpp      |     2 ++                                      
   trunk/boost/config/compiler/metrowerks.hpp  |     2 ++                                      
   trunk/boost/config/compiler/mpw.hpp         |     2 ++                                      
   trunk/boost/config/compiler/pgi.hpp         |     2 ++                                      
   trunk/boost/config/compiler/sunpro_cc.hpp   |     2 ++                                      
   trunk/boost/config/compiler/vacpp.hpp       |     2 ++                                      
   trunk/boost/config/compiler/visualc.hpp     |     2 ++                                      
   trunk/libs/config/doc/macro_reference.qbk   |     6 ++++++                                  
   trunk/libs/config/test/all/Jamfile.v2       |     8 +++++++-                                
   trunk/libs/config/test/config_info.cpp      |     4 ++++                                    
   trunk/libs/config/test/config_test.cpp      |    22 +++++++++++++++++++++-                  
   16 files changed, 72 insertions(+), 5 deletions(-)
Modified: trunk/boost/config/compiler/borland.hpp
==============================================================================
--- trunk/boost/config/compiler/borland.hpp	(original)
+++ trunk/boost/config/compiler/borland.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -168,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
Modified: trunk/boost/config/compiler/codegear.hpp
==============================================================================
--- trunk/boost/config/compiler/codegear.hpp	(original)
+++ trunk/boost/config/compiler/codegear.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -81,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: trunk/boost/config/compiler/common_edg.hpp
==============================================================================
--- trunk/boost/config/compiler/common_edg.hpp	(original)
+++ trunk/boost/config/compiler/common_edg.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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: trunk/boost/config/compiler/digitalmars.hpp
==============================================================================
--- trunk/boost/config/compiler/digitalmars.hpp	(original)
+++ trunk/boost/config/compiler/digitalmars.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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: trunk/boost/config/compiler/gcc.hpp
==============================================================================
--- trunk/boost/config/compiler/gcc.hpp	(original)
+++ trunk/boost/config/compiler/gcc.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -104,7 +104,6 @@
 // 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
@@ -123,6 +122,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
 
@@ -149,6 +149,10 @@
 #  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__)
@@ -157,6 +161,12 @@
 #  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__
@@ -177,8 +187,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: trunk/boost/config/compiler/hp_acc.hpp
==============================================================================
--- trunk/boost/config/compiler/hp_acc.hpp	(original)
+++ trunk/boost/config/compiler/hp_acc.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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: trunk/boost/config/compiler/metrowerks.hpp
==============================================================================
--- trunk/boost/config/compiler/metrowerks.hpp	(original)
+++ trunk/boost/config/compiler/metrowerks.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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: trunk/boost/config/compiler/mpw.hpp
==============================================================================
--- trunk/boost/config/compiler/mpw.hpp	(original)
+++ trunk/boost/config/compiler/mpw.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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: trunk/boost/config/compiler/pgi.hpp
==============================================================================
--- trunk/boost/config/compiler/pgi.hpp	(original)
+++ trunk/boost/config/compiler/pgi.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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: trunk/boost/config/compiler/sunpro_cc.hpp
==============================================================================
--- trunk/boost/config/compiler/sunpro_cc.hpp	(original)
+++ trunk/boost/config/compiler/sunpro_cc.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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: trunk/boost/config/compiler/vacpp.hpp
==============================================================================
--- trunk/boost/config/compiler/vacpp.hpp	(original)
+++ trunk/boost/config/compiler/vacpp.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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: trunk/boost/config/compiler/visualc.hpp
==============================================================================
--- trunk/boost/config/compiler/visualc.hpp	(original)
+++ trunk/boost/config/compiler/visualc.hpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -168,10 +168,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: trunk/libs/config/doc/macro_reference.qbk
==============================================================================
--- trunk/libs/config/doc/macro_reference.qbk	(original)
+++ trunk/libs/config/doc/macro_reference.qbk	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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.
 ]]
Modified: trunk/libs/config/test/all/Jamfile.v2
==============================================================================
--- trunk/libs/config/test/all/Jamfile.v2	(original)
+++ trunk/libs/config/test/all/Jamfile.v2	2009-08-02 10:00:59 EDT (Sun, 02 Aug 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 ] ;
Added: trunk/libs/config/test/boost_no_function_template_default_args.ipp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/boost_no_function_template_default_args.ipp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,38 @@
+//  (C) Copyright Mathias Gaunard 2009. 
+//  Use, modification and distribution are subject to the 
+//  Boost Software License, Version 1.0. (See accompanying file 
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org/libs/config for the most recent version.
+
+//  MACRO:         BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+//  TITLE:         Default template arguments for function templates
+//  DESCRIPTION:   Default template arguments for function templates are not supported.
+
+namespace boost_no_function_template_default_args
+{
+
+template<typename T = int>
+T foo()
+{
+    return 0;
+}
+
+template<typename T, typename U>
+bool is_same(T, U)
+{
+    return false;
+}
+
+template<typename T>
+bool is_same(T, T)
+{
+    return true;
+}
+
+int test()
+{
+   return !is_same(foo<>(), 0) || is_same(foo<>(), 0L);
+}
+
+} // namespace boost_no_function_template_default_args
Added: trunk/libs/config/test/boost_no_sfinae_expr.ipp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/boost_no_sfinae_expr.ipp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,37 @@
+//  (C) Copyright Mathias Gaunard 2009. 
+//  Use, modification and distribution are subject to the 
+//  Boost Software License, Version 1.0. (See accompanying file 
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org/libs/config for the most recent version.
+
+//  MACRO:         BOOST_NO_SFINAE_EXPR
+//  TITLE:         SFINAE for expressions
+//  DESCRIPTION:   SFINAE for expressions not supported.
+
+namespace boost_no_sfinae_expr
+{
+
+template<typename T>
+struct has_foo
+{
+    typedef char NotFound;
+    struct Found { char x[2]; };
+                                                                        
+    template<int> struct dummy {};
+    
+    template<class X> static Found test(dummy< sizeof((*(X*)0).foo(), 0) >*);
+    template<class X> static NotFound test( ... );
+       
+    static const bool value  = (sizeof(Found) == sizeof(test<T>(0)));
+};
+
+struct test1 {};
+struct test2 { void foo(); };
+
+int test()
+{
+   return has_foo<test1>::value || !has_foo<test2>::value;
+}
+
+} // namespace boost_no_sfinae_expr
Modified: trunk/libs/config/test/config_info.cpp
==============================================================================
--- trunk/libs/config/test/config_info.cpp	(original)
+++ trunk/libs/config/test/config_info.cpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -1000,6 +1000,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 +1032,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 +1075,8 @@
 
 
 
+
+
    // 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-08-02 10:00:59 EDT (Sun, 02 Aug 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;
Added: trunk/libs/config/test/no_function_template_default_args_fail.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/no_function_template_default_args_fail.cpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,37 @@
+//  This file was automatically generated on Sun Aug 02 08:25:59 2009
+//  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$
+//
+
+
+// Test file for macro BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+// This file should not compile, if it does then
+// BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS should not be defined.
+// See file boost_no_function_template_default_args.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+#  undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#include "boost_no_function_template_default_args.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+   return boost_no_function_template_default_args::test();
+}
+
Added: trunk/libs/config/test/no_function_template_default_args_pass.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/no_function_template_default_args_pass.cpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,37 @@
+//  This file was automatically generated on Sun Aug 02 08:25:59 2009
+//  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$
+//
+
+
+// Test file for macro BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+// This file should compile, if it does not then
+// BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS should be defined.
+// See file boost_no_function_template_default_args.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+#  undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#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
+
+int main( int, char *[] )
+{
+   return boost_no_function_template_default_args::test();
+}
+
Added: trunk/libs/config/test/no_sfinae_expr_fail.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/no_sfinae_expr_fail.cpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,37 @@
+//  This file was automatically generated on Sun Aug 02 08:25:59 2009
+//  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$
+//
+
+
+// Test file for macro BOOST_NO_SFINAE_EXPR
+// This file should not compile, if it does then
+// BOOST_NO_SFINAE_EXPR should not be defined.
+// See file boost_no_sfinae_expr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+#  undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_SFINAE_EXPR
+#include "boost_no_sfinae_expr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+   return boost_no_sfinae_expr::test();
+}
+
Added: trunk/libs/config/test/no_sfinae_expr_pass.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/no_sfinae_expr_pass.cpp	2009-08-02 10:00:59 EDT (Sun, 02 Aug 2009)
@@ -0,0 +1,37 @@
+//  This file was automatically generated on Sun Aug 02 08:25:59 2009
+//  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$
+//
+
+
+// Test file for macro BOOST_NO_SFINAE_EXPR
+// This file should compile, if it does not then
+// BOOST_NO_SFINAE_EXPR should be defined.
+// See file boost_no_sfinae_expr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+#  undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_SFINAE_EXPR
+#include "boost_no_sfinae_expr.ipp"
+#else
+namespace boost_no_sfinae_expr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+   return boost_no_sfinae_expr::test();
+}
+