Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64858 - in trunk: boost/config/compiler libs/config/doc libs/config/doc/html libs/config/doc/html/boost_config libs/config/test libs/config/test/all
From: john_at_[hidden]
Date: 2010-08-17 06:19:34


Author: johnmaddock
Date: 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
New Revision: 64858
URL: http://svn.boost.org/trac/boost/changeset/64858

Log:
Apply patches for BOOST_NO_VARIADIC_MACROS supplied by Edward Diener.
Added:
   trunk/libs/config/test/boost_no_variadic_macros.ipp (contents, props changed)
   trunk/libs/config/test/no_variadic_macros_fail.cpp (contents, props changed)
   trunk/libs/config/test/no_variadic_macros_pass.cpp (contents, props changed)
Text files modified:
   trunk/boost/config/compiler/borland.hpp | 2 +
   trunk/boost/config/compiler/clang.hpp | 1
   trunk/boost/config/compiler/common_edg.hpp | 4 --
   trunk/boost/config/compiler/digitalmars.hpp | 3 ++
   trunk/boost/config/compiler/gcc.hpp | 2 +
   trunk/boost/config/compiler/gcc_xml.hpp | 2 +
   trunk/boost/config/compiler/hp_acc.hpp | 10 +++++++
   trunk/boost/config/compiler/metrowerks.hpp | 1
   trunk/boost/config/compiler/mpw.hpp | 1
   trunk/boost/config/compiler/nvcc.hpp | 1
   trunk/boost/config/compiler/pgi.hpp | 1
   trunk/boost/config/compiler/sunpro_cc.hpp | 1
   trunk/boost/config/compiler/vacpp.hpp | 1
   trunk/boost/config/compiler/visualc.hpp | 2 +
   trunk/libs/config/doc/html/boost_config/acknowledgements.html | 4 +-
   trunk/libs/config/doc/html/boost_config/boost_macro_reference.html | 44 ++++++++++++++++++++-----------
   trunk/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html | 56 ++++++++++++++++++++--------------------
   trunk/libs/config/doc/html/boost_config/rationale.html | 8 ++--
   trunk/libs/config/doc/html/index.html | 34 ++++++++++++------------
   trunk/libs/config/doc/macro_reference.qbk | 3 ++
   trunk/libs/config/test/all/Jamfile.v2 | 5 ++
   trunk/libs/config/test/config_info.cpp | 2 +
   trunk/libs/config/test/config_test.cpp | 12 +++++++
   23 files changed, 128 insertions(+), 72 deletions(-)

Modified: trunk/boost/config/compiler/borland.hpp
==============================================================================
--- trunk/boost/config/compiler/borland.hpp (original)
+++ trunk/boost/config/compiler/borland.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -46,6 +46,8 @@
 // Borland C++Builder 5, command-line compiler 5.5:
 # define BOOST_NO_OPERATORS_IN_NAMESPACE
 # endif
+// Variadic macros do not exist for C++ Builder versions 5 and below
+#define BOOST_NO_VARIADIC_MACROS
 # endif
 
 // Version 5.51 and below:

Modified: trunk/boost/config/compiler/clang.hpp
==============================================================================
--- trunk/boost/config/compiler/clang.hpp (original)
+++ trunk/boost/config/compiler/clang.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -48,6 +48,7 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_VARIADIC_MACROS
 
 // HACK: Clang does support extern templates, but Boost's test for
 // them is wrong.

Modified: trunk/boost/config/compiler/common_edg.hpp
==============================================================================
--- trunk/boost/config/compiler/common_edg.hpp (original)
+++ trunk/boost/config/compiler/common_edg.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -88,12 +88,10 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_VARIADIC_MACROS
 
 #ifdef c_plusplus
 // EDG has "long long" in non-strict mode
 // However, some libraries have insufficient "long long" support
 // #define BOOST_HAS_LONG_LONG
 #endif
-
-
-

Modified: trunk/boost/config/compiler/digitalmars.hpp
==============================================================================
--- trunk/boost/config/compiler/digitalmars.hpp (original)
+++ trunk/boost/config/compiler/digitalmars.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -80,6 +80,9 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#if (__DMC__ < 0x812)
+#define BOOST_NO_VARIADIC_MACROS
+#endif
 
 #if __DMC__ < 0x800
 #error "Compiler not supported or configured - please reconfigure"

Modified: trunk/boost/config/compiler/gcc.hpp
==============================================================================
--- trunk/boost/config/compiler/gcc.hpp (original)
+++ trunk/boost/config/compiler/gcc.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -43,6 +43,8 @@
 # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 # define BOOST_NO_IS_ABSTRACT
 # define BOOST_NO_EXTERN_TEMPLATE
+// Variadic macros do not exist for gcc versions before 3.0
+# define BOOST_NO_VARIADIC_MACROS
 #elif __GNUC__ == 3
 # if defined (__PATHSCALE__)
 # define BOOST_NO_TWO_PHASE_NAME_LOOKUP

Modified: trunk/boost/config/compiler/gcc_xml.hpp
==============================================================================
--- trunk/boost/config/compiler/gcc_xml.hpp (original)
+++ trunk/boost/config/compiler/gcc_xml.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -35,6 +35,7 @@
 # define BOOST_NO_RVALUE_REFERENCES
 # define BOOST_NO_STATIC_ASSERT
 # define BOOST_NO_VARIADIC_TEMPLATES
+# define BOOST_NO_VARIADIC_MACROS
 # define BOOST_NO_AUTO_DECLARATIONS
 # define BOOST_NO_AUTO_MULTIDECLARATIONS
 # define BOOST_NO_CHAR16_T
@@ -49,6 +50,7 @@
 # define BOOST_NO_LAMBDAS
 # define BOOST_NO_RAW_LITERALS
 # define BOOST_NO_UNICODE_LITERALS
+# define BOOST_NO_VARIADIC_MACROS
 
 #define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
 

Modified: trunk/boost/config/compiler/hp_acc.hpp
==============================================================================
--- trunk/boost/config/compiler/hp_acc.hpp (original)
+++ trunk/boost/config/compiler/hp_acc.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -115,6 +115,16 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+
+/*
+ See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
+ https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436
+*/
+
+#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
+ #define BOOST_NO_VARIADIC_MACROS
+#endif
+
 #endif
 
 //

Modified: trunk/boost/config/compiler/metrowerks.hpp
==============================================================================
--- trunk/boost/config/compiler/metrowerks.hpp (original)
+++ trunk/boost/config/compiler/metrowerks.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -114,6 +114,7 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_VARIADIC_MACROS
 
 #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 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -63,6 +63,7 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_VARIADIC_MACROS
 
 //
 // versions check:

Modified: trunk/boost/config/compiler/nvcc.hpp
==============================================================================
--- trunk/boost/config/compiler/nvcc.hpp (original)
+++ trunk/boost/config/compiler/nvcc.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -37,6 +37,7 @@
 #define BOOST_HAS_DIRENT_H
 #define BOOST_HAS_CLOCK_GETTIME
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_VARIADIC_MACROS
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_STD_UNORDERED

Modified: trunk/boost/config/compiler/pgi.hpp
==============================================================================
--- trunk/boost/config/compiler/pgi.hpp (original)
+++ trunk/boost/config/compiler/pgi.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -70,6 +70,7 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_VARIADIC_MACROS
 
 //
 // 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 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -122,6 +122,7 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_VARIADIC_MACROS
 
 //
 // Version

Modified: trunk/boost/config/compiler/vacpp.hpp
==============================================================================
--- trunk/boost/config/compiler/vacpp.hpp (original)
+++ trunk/boost/config/compiler/vacpp.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -91,6 +91,7 @@
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_VARIADIC_MACROS
 
 
 

Modified: trunk/boost/config/compiler/visualc.hpp
==============================================================================
--- trunk/boost/config/compiler/visualc.hpp (original)
+++ trunk/boost/config/compiler/visualc.hpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -81,6 +81,8 @@
 # define BOOST_NO_SWPRINTF
 // Our extern template tests also fail for this compiler:
 # define BOOST_NO_EXTERN_TEMPLATE
+// Variadic macros do not exist for VC7.1 and lower
+# define BOOST_NO_VARIADIC_MACROS
 #endif
 
 #if defined(UNDER_CE)

Modified: trunk/libs/config/doc/html/boost_config/acknowledgements.html
==============================================================================
--- trunk/libs/config/doc/html/boost_config/acknowledgements.html (original)
+++ trunk/libs/config/doc/html/boost_config/acknowledgements.html 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Acknowledgements</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<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">
@@ -21,7 +21,7 @@
 <div class="spirit-nav">
 <a accesskey="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_config.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
 </h2></div></div></div>

Modified: trunk/libs/config/doc/html/boost_config/boost_macro_reference.html
==============================================================================
--- trunk/libs/config/doc/html/boost_config/boost_macro_reference.html (original)
+++ trunk/libs/config/doc/html/boost_config/boost_macro_reference.html 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Boost Macro Reference</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<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">
@@ -22,7 +22,7 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_config.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
 </h2></div></div></div>
@@ -44,7 +44,7 @@
 </dl></div>
 <a name="config_defects"></a><p>
     </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.boost_macro_reference.macros_that_describe_defects"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects" title="Macros that describe defects">Macros
       that describe defects</a>
@@ -1291,7 +1291,7 @@
 </div>
 <a name="config_features"></a><p>
     </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.boost_macro_reference.macros_that_describe_optional_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features" title="Macros that describe optional features">Macros
       that describe optional features</a>
@@ -2183,7 +2183,7 @@
 </tbody>
 </table></div>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features" title="Macros that describe possible C++0x features">Macros
       that describe possible C++0x features</a>
@@ -2224,7 +2224,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported" title="Macros that describe C++0x features not supported">Macros
       that describe C++0x features not supported</a>
@@ -2831,12 +2831,24 @@
                 </p>
               </td>
 </tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_MACROS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support variadic macros.
+ </p>
+ </td>
+</tr>
 </tbody>
 </table></div>
 </div>
 <a name="config_helpers"></a><p>
     </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost
       Helper Macros</a>
@@ -3176,7 +3188,7 @@
 </div>
 <a name="config_info_macros"></a><p>
     </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.boost_macro_reference.boost_informational_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros" title="Boost Informational Macros">Boost
       Informational Macros</a>
@@ -3454,7 +3466,7 @@
 </tbody>
 </table></div>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
       for libraries with separate source code</a>
@@ -3471,14 +3483,14 @@
         The following macros and helper headers are of use to authors whose libraries
         include separate source code, and are intended to address several issues:
       </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
+<div class="itemizedlist"><ul type="disc">
+<li>
             Controlling shared library symbol visibility
           </li>
-<li class="listitem">
+<li>
             Fixing the ABI of the compiled library
           </li>
-<li class="listitem">
+<li>
             Selecting which compiled library to link against based upon the compilers
             settings
           </li>
@@ -3487,7 +3499,7 @@
         See <a href="http://svn.boost.org/trac/boost/wiki/Guidelines/Separate" target="_top">Guidelines
         for Authors of Boost Libraries Containing Separate Source</a>
       </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility" title="Macros controlling shared library symbol visibility">Macros
         controlling shared library symbol visibility</a>
@@ -3642,7 +3654,7 @@
 <span class="special">...</span>
 </pre>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing" title="ABI Fixing">ABI
         Fixing</a>
@@ -3700,7 +3712,7 @@
           to point to their own prefix/suffix headers if they so wish.
         </p>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection" title="Automatic library selection">Automatic
         library selection</a>

Modified: trunk/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
==============================================================================
--- trunk/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html (original)
+++ trunk/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Guidelines for Boost Authors</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<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">
@@ -22,7 +22,7 @@
 <div class="spirit-nav">
 <a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
     Boost Authors</a>
@@ -61,26 +61,26 @@
 <p>
       Note that:
     </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
+<div class="itemizedlist"><ul type="disc">
+<li>
           Boost library implementers are not required to "<code class="computeroutput"><span class="preprocessor">#include</span>
           <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>", and are not required in any
           way to support compilers that do not comply with the C++ Standard (ISO/IEC
           14882).
         </li>
-<li class="listitem">
+<li>
           If a library implementer wishes to support some non-conforming compiler,
           or to support some platform specific feature, "<code class="computeroutput"><span class="preprocessor">#include</span>
           <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>" is the preferred way to obtain
           configuration information not available from the standard headers such
           as <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span></code>, etc.
         </li>
-<li class="listitem">
+<li>
           If configuration information can be deduced from standard headers such
           as <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span></code>, use those standard headers rather
           than <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>.
         </li>
-<li class="listitem">
+<li>
           Boost files that use macros defined in <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>
           should have sensible, standard conforming, default behavior if the macro
           is not defined. This means that the starting point for porting <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> to a new platform is simply to define
@@ -88,22 +88,22 @@
           is no sensible default behavior, an #error message should describe the
           problem.
         </li>
-<li class="listitem">
+<li>
           If a Boost library implementer wants something added to <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code>,
           post a request on the Boost mailing list. There is no guarantee such a
           request will be honored; the intent is to limit the complexity of config.hpp.
         </li>
-<li class="listitem">
+<li>
           The intent is to support only compilers which appear on their way to becoming
           C++ Standard compliant, and only recent releases of those compilers at
           that.
         </li>
-<li class="listitem">
+<li>
           The intent is not to disable mainstream features now well-supported by
           the majority of compilers, such as namespaces, exceptions, RTTI, or templates.
         </li>
 </ul></div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.guidelines_for_boost_authors.warnings"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings" title="Disabling Compiler Warnings">
       Disabling Compiler Warnings</a>
@@ -116,17 +116,17 @@
 <p>
         Note that:
       </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
+<div class="itemizedlist"><ul type="disc">
+<li>
             This header <span class="bold"><strong><span class="emphasis"><em>should never be included
             by another Boost header</em></span></strong></span>, it should only ever be
             used by a library source file or a test case.
           </li>
-<li class="listitem">
+<li>
             The header should be included <span class="bold"><strong><span class="emphasis"><em>before
             you include any other header</em></span></strong></span>.
           </li>
-<li class="listitem">
+<li>
             This header only disables warnings that are hard or impossible to otherwise
             deal with, and which are typically emitted by one compiler only, or in
             one compilers own standard library headers.
@@ -182,7 +182,7 @@
 </tbody>
 </table></div>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.guidelines_for_boost_authors.adding_new_defect_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros" title="Adding New Defect Macros">Adding
       New Defect Macros</a>
@@ -233,15 +233,15 @@
         Once the test code is in place in libs/config/test, updating the configuration
         test system proceeds as:
       </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
+<div class="itemizedlist"><ul type="disc">
+<li>
             cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">tools</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span></code>.
             This generates the <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code>
             file test cases from the <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> file, updates the libs/config/test/all/Jamfile.v2,
             <code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>.<br>
             <br>
           </li>
-<li class="listitem">
+<li>
             cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">all</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
             </code><span class="emphasis"><em>MACRONAME<code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>,
             where <span class="emphasis"><em>MACRONAME</em></span> is the name of the new macro, and
@@ -253,7 +253,7 @@
             is defined when it should not be defined, xxx_fail_test will not report
             <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>.<br> <br>
           </li>
-<li class="listitem">
+<li>
             cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
             <span class="identifier">config_info</span> <span class="identifier">config_test</span>
             </code><span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>.
@@ -266,26 +266,26 @@
 <p>
         Then you should:
       </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
+<div class="itemizedlist"><ul type="disc">
+<li>
             Define the defect macro in those config headers that require it.
           </li>
-<li class="listitem">
+<li>
             Document the macro in this documentation (please do not forget this step!!)
           </li>
-<li class="listitem">
+<li>
             Commit everything.
           </li>
-<li class="listitem">
+<li>
             Keep an eye on the regression tests for new failures in Boost.Config
             caused by the addition.
           </li>
-<li class="listitem">
+<li>
             Start using the macro.
           </li>
 </ul></div>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros" title="Adding New Feature Test Macros">Adding
       New Feature Test Macros</a>
@@ -309,7 +309,7 @@
         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">unistd</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>).
       </p>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers" title="Modifying the Boost Configuration Headers">Modifying
       the Boost Configuration Headers</a>

Modified: trunk/libs/config/doc/html/boost_config/rationale.html
==============================================================================
--- trunk/libs/config/doc/html/boost_config/rationale.html (original)
+++ trunk/libs/config/doc/html/boost_config/rationale.html 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Rationale</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<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">
@@ -22,7 +22,7 @@
 <div class="spirit-nav">
 <a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
 </h2></div></div></div>
@@ -39,7 +39,7 @@
       principles from the <a href="http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf" target="_top">following
       article</a>.
     </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.rationale.the_problem"></a><a class="link" href="rationale.html#boost_config.rationale.the_problem" title="The problem">The problem</a>
 </h3></div></div></div>
@@ -90,7 +90,7 @@
         code must be provided.
       </p>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.rationale.the_solution"></a><a class="link" href="rationale.html#boost_config.rationale.the_solution" title="The solution">The solution</a>
 </h3></div></div></div>

Modified: trunk/libs/config/doc/html/index.html
==============================================================================
--- trunk/libs/config/doc/html/index.html (original)
+++ trunk/libs/config/doc/html/index.html 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Boost.Config</title>
 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<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>
@@ -18,7 +18,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="article">
+<div class="article" lang="en">
 <div class="titlepage">
 <div>
 <div><h2 class="title">
@@ -28,7 +28,7 @@
 </h3></div></div></div>
 <div><p class="copyright">Copyright &#169; 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
 <div><div class="legalnotice">
-<a name="id759700"></a><p>
+<a name="id978573"></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>
@@ -92,7 +92,7 @@
 <dt><span class="section">Acknowledgements</span></dt>
 </dl>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring
     Boost for Your Platform</a>
@@ -111,7 +111,7 @@
 <dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration">Testing
       the boost configuration</a></span></dt>
 </dl></div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration" title="Using the default boost configuration">Using
       the default boost configuration</a>
@@ -135,7 +135,7 @@
         and submitting a support request.
       </p>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header" title="The &lt;boost/config.hpp&gt; header">The
       &lt;boost/config.hpp&gt; header</a>
@@ -168,7 +168,7 @@
 </div>
 <a name="config_config_script"></a><p>
     </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.using_the_configure_script"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script" title="Using the configure script">Using
       the configure script</a>
@@ -289,15 +289,15 @@
         (located under <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>).
         There are two ways you can use this header:
       </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
+<div class="itemizedlist"><ul type="disc">
+<li>
             <span class="bold"><strong>Option 1:</strong></span> copy the header into <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> so that it replaces the default user.hpp
             provided by boost. This option allows only one configure-generated setup;
             boost developers should avoid this option, as it incurs the danger of
             accidentally committing a configure-modified <boost/config/user.hpp>
             to the cvs repository (something you will not be thanked for!).
           </li>
-<li class="listitem">
+<li>
             <span class="bold"><strong>Option 2:</strong></span> give the header a more memorable
             name, and place it somewhere convenient; then, define the macro <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code> to point to it. For
             example create a new sub-directory <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> <code class="computeroutput"><span class="identifier">user</span><span class="special">/</span></code>, and copy the header there; for example
@@ -312,7 +312,7 @@
 </div>
 <a name="config_user_settable"></a><p>
     </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.user_settable_options"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options" title="User settable options">User
       settable options</a>
@@ -678,7 +678,7 @@
 </tbody>
 </table></div>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
       configuration usage</a>
@@ -722,7 +722,7 @@
 <p>
         The following usage examples represent just a few of the possibilities:
       </p>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration" title="Example 1, creating our own frozen configuration">Example
         1, creating our own frozen configuration</a>
@@ -754,7 +754,7 @@
           yet supported by boost.
         </p>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need" title="Example 2: skipping files that you don't need">Example
         2: skipping files that you don't need</a>
@@ -773,7 +773,7 @@
           a dependency on two boost headers.
         </p>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration" title="Example 3: using configure script to freeze the boost configuration">Example
         3: using configure script to freeze the boost configuration</a>
@@ -786,7 +786,7 @@
         </p>
 </div>
 </div>
-<div class="section">
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration" title="Testing the boost configuration">Testing
       the boost configuration</a>
@@ -950,7 +950,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: June 30, 2010 at 23:58:03 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 17, 2010 at 09:09:56 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: trunk/libs/config/doc/macro_reference.qbk
==============================================================================
--- trunk/libs/config/doc/macro_reference.qbk (original)
+++ trunk/libs/config/doc/macro_reference.qbk 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -620,6 +620,9 @@
 [[`BOOST_NO_VARIADIC_TEMPLATES`][The compiler does not support
 variadic templates.
 ]]
+[[`BOOST_NO_VARIADIC_MACROS`][The compiler does not support
+variadic macros.
+]]
 ]
 
 [endsect]

Modified: trunk/libs/config/test/all/Jamfile.v2
==============================================================================
--- trunk/libs/config/test/all/Jamfile.v2 (original)
+++ trunk/libs/config/test/all/Jamfile.v2 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -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 Jun 04 12:51:35 2010
+# This file was automatically generated on Tue Aug 17 09:59:01 2010
 # by libs/config/tools/generate.cpp
 # Copyright John Maddock.
 # Use, modification and distribution are subject to the
@@ -511,6 +511,9 @@
 test-suite "BOOST_NO_USING_TEMPLATE" :
 [ run ../no_using_template_pass.cpp ]
 [ compile-fail ../no_using_template_fail.cpp ] ;
+test-suite "BOOST_NO_VARIADIC_MACROS" :
+[ run ../no_variadic_macros_pass.cpp ]
+[ compile-fail ../no_variadic_macros_fail.cpp ] ;
 test-suite "BOOST_NO_VARIADIC_TEMPLATES" :
 [ run ../no_variadic_templates_pass.cpp ]
 [ compile-fail ../no_variadic_templates_fail.cpp ] ;

Added: trunk/libs/config/test/boost_no_variadic_macros.ipp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/boost_no_variadic_macros.ipp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -0,0 +1,62 @@
+// Copyright (C) 2010 Edward Diener
+// 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_VARIADIC_MACROS
+// TITLE: C++0x variadic macros unavailable
+// DESCRIPTION: The compiler does not support C++0x variadic macros
+
+// This is a simple test
+
+#define TEST_VARIADIC_MACRO_SIMPLE(avalue,...) __VA_ARGS__
+
+/*
+
+ This is a more complicated test, which Steve Watanabe graciously
+ supplied, when I asked if it were possible to strip the parantheses
+ from a macro argument. I have changed the names somewhat to prevent
+ any common clashes with other macros in the config testing suite
+ by prepending to each macro name TEST_VARIADIC_MACRO_.
+
+ You may find this test overdone and may want to remove it.
+
+*/
+
+#define TEST_VARIADIC_MACRO_CAT(x, y) TEST_VARIADIC_MACRO_CAT_I(x, y)
+#define TEST_VARIADIC_MACRO_CAT_I(x, y) x ## y
+
+#define TEST_VARIADIC_MACRO_APPLY(macro, args) TEST_VARIADIC_MACRO_APPLY_I(macro, args)
+#define TEST_VARIADIC_MACRO_APPLY_I(macro, args) macro args
+
+#define TEST_VARIADIC_MACRO_STRIP_PARENS(x) TEST_VARIADIC_MACRO_EVAL((TEST_VARIADIC_MACRO_STRIP_PARENS_I x), x)
+#define TEST_VARIADIC_MACRO_STRIP_PARENS_I(...) 1,1
+
+#define TEST_VARIADIC_MACRO_EVAL(test, x) TEST_VARIADIC_MACRO_EVAL_I(test, x)
+#define TEST_VARIADIC_MACRO_EVAL_I(test, x) TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS(TEST_VARIADIC_MACRO_TEST_ARITY test, x)
+
+#define TEST_VARIADIC_MACRO_TEST_ARITY(...) TEST_VARIADIC_MACRO_APPLY(TEST_VARIADIC_MACRO_TEST_ARITY_I, (__VA_ARGS__, 2, 1))
+#define TEST_VARIADIC_MACRO_TEST_ARITY_I(a,b,c,...) c
+
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS(cond, x) TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_I(cond, x)
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_I(cond, x) TEST_VARIADIC_MACRO_CAT(TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_, cond)(x)
+
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_1(x) x
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2(x) TEST_VARIADIC_MACRO_APPLY(TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2_I, x)
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2_I(...) __VA_ARGS__
+
+namespace boost_no_variadic_macros {
+
+template<TEST_VARIADIC_MACRO_STRIP_PARENS((typename T,int))> struct test_variadic_macro_class {};
+
+int test()
+{
+
+ int x = TEST_VARIADIC_MACRO_STRIP_PARENS(3);
+
+ 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 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -1066,6 +1066,7 @@
    PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION);
    PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE);
    PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
+ PRINT_MACRO(BOOST_NO_VARIADIC_MACROS);
    PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES);
    PRINT_MACRO(BOOST_NO_VOID_RETURNS);
 
@@ -1084,6 +1085,7 @@
 
 
 
+
    // 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 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -1,4 +1,4 @@
-// This file was automatically generated on Fri Jun 04 12:51:35 2010
+// This file was automatically generated on Tue Aug 17 09:59:01 2010
 // by libs/config/tools/generate.cpp
 // Copyright John Maddock 2002-4.
 // Use, modification and distribution are subject to the
@@ -582,6 +582,11 @@
 #else
 namespace boost_no_using_template = empty_boost;
 #endif
+#ifndef BOOST_NO_VARIADIC_MACROS
+#include "boost_no_variadic_macros.ipp"
+#else
+namespace boost_no_variadic_macros = empty_boost;
+#endif
 #ifndef BOOST_NO_VARIADIC_TEMPLATES
 #include "boost_no_variadic_templates.ipp"
 #else
@@ -1671,6 +1676,11 @@
       std::cerr << "Failed test for BOOST_NO_USING_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+ if(0 != boost_no_variadic_macros::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_VARIADIC_MACROS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
    if(0 != boost_no_variadic_templates::test())
    {
       std::cerr << "Failed test for BOOST_NO_VARIADIC_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;

Added: trunk/libs/config/test/no_variadic_macros_fail.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/no_variadic_macros_fail.cpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Aug 17 09:59:01 2010
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_VARIADIC_MACROS
+// This file should not compile, if it does then
+// BOOST_NO_VARIADIC_MACROS should not be defined.
+// See file boost_no_variadic_macros.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_VARIADIC_MACROS
+#include "boost_no_variadic_macros.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_variadic_macros::test();
+}
+

Added: trunk/libs/config/test/no_variadic_macros_pass.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/config/test/no_variadic_macros_pass.cpp 2010-08-17 06:19:29 EDT (Tue, 17 Aug 2010)
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Aug 17 09:59:01 2010
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_VARIADIC_MACROS
+// This file should compile, if it does not then
+// BOOST_NO_VARIADIC_MACROS should be defined.
+// See file boost_no_variadic_macros.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_VARIADIC_MACROS
+#include "boost_no_variadic_macros.ipp"
+#else
+namespace boost_no_variadic_macros = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_variadic_macros::test();
+}
+


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