$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r73051 - in branches/pplib/v2/libs/preprocessor: doc doc/headers doc/headers/debug doc/headers/facilities doc/ref test
From: eldiener_at_[hidden]
Date: 2011-07-13 10:33:24
Author: eldiener
Date: 2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
New Revision: 73051
URL: http://svn.boost.org/trac/boost/changeset/73051
Log:
Updated docs and jamfile
Added:
   branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_array.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_list.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_seq.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_tuple.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/is_tuple_begin.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/remove_parens.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_array.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_list.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_seq.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_tuple.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/is_tuple_begin.html   (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/remove_parens.html   (contents, props changed)
Text files modified: 
   branches/pplib/v2/libs/preprocessor/doc/headers/debug.html      |    28 +++++--                                 
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities.html |    18 +++-                                    
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple.html      |    14 ++-                                     
   branches/pplib/v2/libs/preprocessor/doc/ref.html                |    18 ++++                                    
   branches/pplib/v2/libs/preprocessor/doc/syntax.html             |    17 +++-                                    
   branches/pplib/v2/libs/preprocessor/test/Jamfile.v2             |   151 ++++++++++----------------------------- 
   6 files changed, 105 insertions(+), 141 deletions(-)
Modified: branches/pplib/v2/libs/preprocessor/doc/headers/debug.html
==============================================================================
--- branches/pplib/v2/libs/preprocessor/doc/headers/debug.html	(original)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/debug.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -1,10 +1,11 @@
 <html>
-<head>
-	<title>debug.hpp</title>
+  <head>
+  <title>debug.hpp
+  </title>
         <link rel="stylesheet" type="text/css" href="../styles.css">
-</head>
-<body>
-	<div style="margin-left:  0px;">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
                 The <b>debug.hpp</b> includes the headers in the <i>debug</i> folder. 
         </div>
         <h4>Usage</h4>
@@ -14,18 +15,27 @@
         <h4>Includes</h4>
                 <ul>
                         <li><boost/preprocessor/debug/assert.hpp></li>
+  <li><boost/preprocessor/debug/assert_is_array.hpp> (v)<br>
+</li>
+  <li><boost/preprocessor/debug/assert_is_list.hpp> (v)<br>
+</li>
+  <li><boost/preprocessor/debug/assert_is_seq.hpp> (v)<br>
+</li>
+  <li><boost/preprocessor/debug/assert_is_tuple.hpp> (v)<br>
+</li>
                         <li><boost/preprocessor/debug/line.hpp></li>
                 </ul>
         <hr size="1">
         <div style="margin-left: 0px;">
                 <i>© Copyright Housemarque Oy 2002</i>
-		</br><i>© Copyright Paul Mensonides 2002</i>
+		<br><i>© Copyright Paul Mensonides 2002<br>
+</i><i>© Copyright Edward Diener 2011</i><br>
+
         </div>
         <div style="margin-left: 0px;">
                 <p><small>Distributed under the Boost Software License, Version 1.0. (See
                 accompanying file LICENSE_1_0.txt or
-		copy at <a href=
-		"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
         </div>
-</body>
+  </body>
 </html>
Added: branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_array.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_array.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,32 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>debug/assert_is_array.hpp
+  </title>
+	<link rel="stylesheet" type="text/css" href="../../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>debug/assert_is_array.hpp</b> header defines a variadic macro for asserting that its parameter is an array.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			#include <b><boost/preprocessor/debug/assert_is_array.hpp></b>
+		</div>
+	<h4>Contents</h4>
+		<ul>
+			<li>BOOST_PP_ASSERT_IS_ARRAY (v)<br>
+</li>
+		</ul>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i><br>
+
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_list.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_list.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,32 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>debug/assert_is_list.hpp
+  </title>
+	<link rel="stylesheet" type="text/css" href="../../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>debug/assert_is_list.hpp</b> header defines a variadic macro for asserting that its parameter is a list.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			#include <b><boost/preprocessor/debug/assert_is_list.hpp></b>
+		</div>
+	<h4>Contents</h4>
+		<ul>
+			<li>BOOST_PP_ASSERT_IS_LIST (v)<br>
+</li>
+		</ul>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i><br>
+
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_seq.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,32 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>debug/assert_is_seq.hpp
+  </title>
+	<link rel="stylesheet" type="text/css" href="../../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>debug/assert_is_seq.hpp</b> header defines defines a variadic macro for asserting that its parameter is a sequence.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			#include <b><boost/preprocessor/debug/assert_is_seq.hpp></b>
+		</div>
+	<h4>Contents</h4>
+		<ul>
+			<li>BOOST_PP_ASSERT_IS_SEQ (v)<br>
+</li>
+		</ul>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i><br>
+
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert_is_tuple.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,32 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>debug/assert_is_tuple.hpp
+  </title>
+	<link rel="stylesheet" type="text/css" href="../../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>debug/assert_is_tuple.hpp</b> header defines a variadic macro for asserting that its parameter is a tuple.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			#include <b><boost/preprocessor/debug/assert_is_tuple.hpp></b>
+		</div>
+	<h4>Contents</h4>
+		<ul>
+			<li>BOOST_PP_ASSERT_IS_TUPLE (v)<br>
+</li>
+		</ul>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i>© Copyright Edward Diener 2011</i><br>
+
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Modified: branches/pplib/v2/libs/preprocessor/doc/headers/facilities.html
==============================================================================
--- branches/pplib/v2/libs/preprocessor/doc/headers/facilities.html	(original)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -1,9 +1,10 @@
 <html>
-<head>
-    <title>facilities.hpp</title>
+  <head>
+  <title>facilities.hpp
+  </title>
         <link rel="stylesheet" type="text/css" href="../styles.css">
-</head>
-<body>
+  </head>
+  <body>
         <div style="margin-left: 0px;">
                 The <b>facilities.hpp</b> includes the headers in the <i>facilities</i> folder. 
         </div>
@@ -18,17 +19,22 @@
                         <li><boost/preprocessor/facilities/expand.hpp></li>
                         <li><boost/preprocessor/facilities/identity.hpp></li>
                         <li><boost/preprocessor/facilities/intercept.hpp></li>
+  <li><boost/preprocessor/facilities/is_tuple_begin.hpp> (v)<br>
+  </li>
+
             <li><boost/preprocessor/facilities/overload.hpp> (v)</li>
+  <li><boost/preprocessor/facilities/remove_parens.hpp> (v)</li>
                 </ul>
         <hr size="1">
         <div style="margin-left: 0px;">
                 <i>© Copyright Housemarque Oy 2002</i>
-		<br><i>© Copyright Paul Mensonides 2002</i>
+		<br><i>© Copyright Paul Mensonides 2002<br>
+</i><i>© Copyright Edward Diener 2011</i><br>
         </div>
         <div style="margin-left: 0px;">
                 <p><small>Distributed under the Boost Software License, Version 1.0. (See
                 accompanying file LICENSE_1_0.txt or
                 copy at www.boost.org/LICENSE_1_0.txt)</small></p>
         </div>
-</body>
+  </body>
 </html>
Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities/is_tuple_begin.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities/is_tuple_begin.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,30 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>facilities/is_tuple_begin.hpp
+  </title>
+	<link rel="stylesheet" type="text/css" href="../../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>facilities/is_tuple_begin.hpp</b> header defines a variadic macro that test whether its parameter begins with a tuple.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			#include <b><boost/preprocessor/facilities/is_tuple_begin.hpp></b>
+		</div>
+	<h4>Contents</h4>
+		<ul>
+			<li>BOOST_PP_IS_TUPLE_BEGIN (v)</li>
+		</ul>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i>
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities/remove_parens.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities/remove_parens.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,30 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>facilities/remove_parens.hpp
+  </title>
+	<link rel="stylesheet" type="text/css" href="../../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>facilities/remove_parens.hpp</b> header defines a variadic macro that returns its parameter with the the beginning parentheses removed if they exist.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			#include <b><boost/preprocessor/facilities/remove_parens.hpp></b>
+		</div>
+	<h4>Contents</h4>
+		<ul>
+			<li>BOOST_PP_REMOVE_PARENS (v)</li>
+		</ul>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i>
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Modified: branches/pplib/v2/libs/preprocessor/doc/headers/tuple.html
==============================================================================
--- branches/pplib/v2/libs/preprocessor/doc/headers/tuple.html	(original)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -1,9 +1,10 @@
 <html>
-<head>
-    <title>tuple.hpp</title>
+  <head>
+  <title>tuple.hpp
+  </title>
         <link rel="stylesheet" type="text/css" href="../styles.css">
-</head>
-<body>
+  </head>
+  <body>
         <div style="margin-left: 0px;">
                 The <b>tuple.hpp</b> includes the headers in the <i>tuple</i> folder. 
         </div>
@@ -26,12 +27,13 @@
         <hr size="1">
         <div style="margin-left: 0px;">
                 <i>© Copyright Housemarque Oy 2002</i>
-		<br><i>© Copyright Paul Mensonides 2002</i>
+		<br><i>© Copyright Paul Mensonides 2002<br>
+</i><i>© Copyright Edward Diener 2011</i><br>
         </div>
         <div style="margin-left: 0px;">
                 <p><small>Distributed under the Boost Software License, Version 1.0. (See
                 accompanying file LICENSE_1_0.txt or
                 copy at www.boost.org/LICENSE_1_0.txt)</small></p>
         </div>
-</body>
+  </body>
 </html>
Modified: branches/pplib/v2/libs/preprocessor/doc/ref.html
==============================================================================
--- branches/pplib/v2/libs/preprocessor/doc/ref.html	(original)
+++ branches/pplib/v2/libs/preprocessor/doc/ref.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -1,6 +1,7 @@
 <html>
   <head>
-    <title>ref.html</title>
+  <title>ref.html
+  </title>
   <link rel="stylesheet" type="text/css" href="styles.css">
   <base target="desc">
   </head>
@@ -34,6 +35,14 @@
   <li>ARRAY_TO_SEQ</li>
   <li>ARRAY_TO_TUPLE</li>
   <li>ASSERT</li>
+  <li>ASSERT_IS_ARRAY (v)<br>
+  </li>
+  <li>ASSERT_IS_LIST (v)<br>
+  </li>
+  <li>ASSERT_IS_SEQ (v)<br>
+  </li>
+  <li>ASSERT_IS_TUPLE (v)<br>
+  </li>
   <li>ASSERT_MSG</li>
   <li>ASSIGN_SLOT</li>
 <!-- B -->
@@ -105,6 +114,8 @@
   <li>INDIRECT_SELF</li>
   <li>INTERCEPT</li>
   <li>IS_ITERATING</li>
+  <li>IS_TUPLE_BEGIN (v)<br>
+  </li>
   <li>IS_SELFISH</li>
   <li>ITERATE</li>
   <li>ITERATION</li>
@@ -208,6 +219,9 @@
   <li>RELATIVE_FLAGS</li>
   <li>RELATIVE_ITERATION</li>
   <li>RELATIVE_START</li>
+  <li>REMOVE_PARENS (v)<br>
+  </li>
+
   <li>REPEAT</li>
   <li>REPEAT_1ST*</li>
   <li>REPEAT_2ND*</li>
@@ -301,4 +315,4 @@
 http://www.boost.org/LICENSE_1_0.txt)
 -->
   </body>
-</html>
\ No newline at end of file
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_array.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_array.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,53 @@
+<html>
+  <head>
+    <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+    <title>BOOST_PP_ASSERT_IS_ARRAY
+    </title>
+	<link rel="stylesheet" type="text/css" href="../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>BOOST_PP_ASSERT_IS_ARRAY</b> macro conditionally causes a preprocessing error if its parameter is not an <i>array</i>. <br>
+Although the macro itself is not a variadic macro, it needs variadic macro support in order to be invoked.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			<b>BOOST_PP_ASSERT_IS_ARRAY</b>(<i>param</i>) <sup>(v)</sup>
+		</div>
+	<h4>Arguments</h4>
+		<dl>
+			<dt>param</dt>
+			<dd>
+				A parameter to check for an <i>array</i>.
+			</dd>
+		</dl>
+	<h4>Remarks</h4>
+		<div>
+			If <i>param</i> is <b>not</b> an <i>array</i>, this macro causes a preprocessing error. 
+			Otherwise, it expands to nothing.<br>
+
+		</div>
+	<h4>See Also</h4>
+		<ul>
+			<li>BOOST_PP_ASSERT_IS_LIST</li>
+  <li>BOOST_PP_ASSERT_IS_SEQ</li>
+  <li>BOOST_PP_ASSERT_IS_TUPLE</li>
+		</ul>
+	<h4>Requirements</h4>
+		<div>
+			<b>Header:</b>  <boost/preprocessor/debug/assert_is_array.hpp>
+		</div>
+	<h4>Sample Code</h4>
+<div><pre>#include <boost/preprocessor/debug/assert_is_array.hpp><br><br>#define AN_ARRAY (3,(a,b,c))<br>#define NOT_JUST_ARRAY (3,(a,b,c)) text<br>#define A_TUPLE (a,b,c)<br>#define A_LIST (a,(b,(c,BOOST_PP_NIL)))<br>#define A_SEQ (a)(b)(c)<br>#define A_TEXT text<br><br>BOOST_PP_ASSERT_IS_ARRAY(AN_ARRAY) // no output<br>BOOST_PP_ASSERT_IS_ARRAY(NOT_JUST_ARRAY) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_ARRAY(A_TUPLE) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_ARRAY(A_LIST) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_ARRAY(A_SEQ) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_ARRAY(A_TEXT) // generates preprocessing error</pre></div>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i><br>
+
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_list.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_list.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,52 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>BOOST_PP_ASSERT_IS_LIST
+  </title>
+	<link rel="stylesheet" type="text/css" href="../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>BOOST_PP_ASSERT_IS_LIST </b>macro conditionally causes a preprocessing error if its parameter is
+not a <i>list</i>. <br>
+Although the macro itself is not a variadic macro, it
+needs variadic macro support in order to be invoked.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			<b>BOOST_PP_ASSERT_IS_LIST</b>(<i>param</i>) <sup>(v)</sup>
+		</div>
+	<h4>Arguments</h4>
+		<dl>
+			<dt>param</dt>
+			<dd>  A parameter to check for a <i>list</i>..
+			</dd>
+		</dl>
+	<h4>Remarks</h4>
+		<div>
+			If <i>param</i> is <b>not</b> a <i>list</i>, this macro causes a preprocessing error. 
+			Otherwise, it expands to nothing..
+		</div>
+	<h4>See Also</h4>
+		<ul>
+			<li>BOOST_PP_ASSERT_IS_ARRAY</li>
+			<li>BOOST_PP_ASSERT_IS_SEQ</li>
+  <li>BOOST_PP_ASSERT_IS_TUPLE</li>
+		</ul>
+	<h4>Requirements</h4>
+		<div>
+			<b>Header:</b>  <boost/preprocessor/debug/assert_is_list.hpp>
+		</div>
+	<h4>Sample Code</h4>
+<div><pre>#include <boost/preprocessor/debug/assert_is_list.hpp><br><br>#define A_LIST (a,(b,(c,BOOST_PP_NIL)))<br>#define NOT_JUST_LIST (a,(b,(c,BOOST_PP_NIL))) text<br>#define AN_ARRAY (3,(a,b,c))<br>#define A_TUPLE (a,b,c)<br>#define A_SEQ (a)(b)(c)<br>#define A_TEXT text<br><br>BOOST_PP_ASSERT_IS_LIST(A_LIST) // no output<br>BOOST_PP_ASSERT_IS_LIST(NOT_JUST_LIST) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_LIST(AN_ARRAY) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_LIST(A_TUPLE) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_LIST(A_SEQ) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_LIST(A_TEXT) // generates preprocessing error<br></pre></div>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i><br>
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_seq.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,50 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>BOOST_PP_ASSERT_IS_SEQ
+  </title>
+	<link rel="stylesheet" type="text/css" href="../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>BOOST_PP_ASSERT_IS_SEQ</b> macro conditionally causes a preprocessing error if its parameter is not a <i>sequence</i>. <br>
+Although the macro itself is not a variadic macro, it needs variadic macro support in order to be invoked.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			<b>BOOST_PP_ASSERT_IS_SEQ</b>(<i>param</i>) <sup>(v)</sup>
+		</div>
+	<h4>Arguments</h4>
+		<dl>
+			<dt>param</dt>
+			<dd>A parameter to check for a <i>sequence</i>.
+			</dd>
+		</dl>
+	<h4>Remarks</h4>
+		<div>If <i>param</i> is <b>not</b> a <i>sequence</i>, this macro causes a preprocessing error. 
+			Otherwise, it expands to nothing.<br>
+A <i>sequence</i> consists of one or more adjacent parenthesized elements. Therefore a <i>tuple</i> whose size is 1 is also a <i>sequence</i>.<br>
+		</div>
+	<h4>See Also</h4>
+		<ul>
+			<li>BOOST_PP_ASSERT_IS_ARRAY</li>
+  <li>BOOST_PP_ASSERT_IS_LIST</li>
+			<li>BOOST_PP_ASSERT_IS_TUPLE</li>
+		</ul>
+	<h4>Requirements</h4>
+		<div>
+			<b>Header:</b>  <boost/preprocessor/debug/assert_is_seq.hpp>
+		</div>
+	<h4>Sample Code</h4>
+<div><pre>#include <boost/preprocessor/debug/assert_is_seq.hpp><br><br>#define A_SEQ (a)(b)(c)<br>#define A_ONE_ELEMENT_TUPLE (a)<br>#define NOT_JUST_SEQ (a)(b)(c) text<br>#define AN_ARRAY (3,(a,b,c))<br>#define A_TUPLE (a,b,c)<br>#define A_LIST (a,(b,(c,BOOST_PP_NIL)))<br>#define A_TEXT text<br><br>BOOST_PP_ASSERT_IS_SEQ(A_SEQ) // no output<br>BOOST_PP_ASSERT_IS_SEQ(A_ONE_ELEMENT_TUPLE) // no output, a one element tuple is also a <i>sequence</i><br>BOOST_PP_ASSERT_IS_SEQ(NOT_JUST_SEQ) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_SEQ(AN_ARRAY) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_SEQ(A_TUPLE) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_SEQ(A_LIST) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_SEQ(A_TEXT) // generates preprocessing error<br></pre></div>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i><br>
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/assert_is_tuple.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,51 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>BOOST_PP_ASSERT_IS_TUPLE
+  </title>
+	<link rel="stylesheet" type="text/css" href="../styles.css">
+  </head>
+  <body>
+	<div style="margin-left: 0px;">
+		The <b>BOOST_PP_ASSERT_IS_TUPLE</b> macro conditionally causes a preprocessing error if its parameter is not a <i>tuple</i>. <br>
+Although the macro itself is not a variadic macro, it needs variadic macro support in order to be invoked.
+	</div>
+	<h4>Usage</h4>
+		<div class="code">
+			<b>BOOST_PP_ASSERT_IS_TUPLE</b>(<i>param</i>) <sup>(v)</sup>
+		</div>
+	<h4>Arguments</h4>
+		<dl>
+			<dt>param</dt>
+			<dd>A parameter to check for a <i>tuple</i>.
+			</dd>
+		</dl>
+	<h4>Remarks</h4>
+		<div>
+			If <i>param</i> is <b>not</b> a <i>tuple</i>, this macro causes a preprocessing error. 
+			Otherwise, it expands to nothing.<br>
+An <i>array</i>, a <i>list</i>, and a <i>sequence</i> of size 1 are also <i>tuples</i>.<br>
+		</div>
+	<h4>See Also</h4>
+		<ul>
+			<li>BOOST_PP_ASSERT_IS_ARRAY</li>
+  <li>BOOST_PP_ASSERT_IS_LIST</li>
+  <li>BOOST_PP_ASSERT_IS_SEQ</li>
+		</ul>
+	<h4>Requirements</h4>
+		<div>
+			<b>Header:</b>  <boost/preprocessor/debug/assert_is_tuple.hpp>
+		</div>
+	<h4>Sample Code</h4>
+<div><pre>#include <boost/preprocessor/debug/assert_is_tuple.hpp><br><br>#define A_TUPLE (a,b,c)<br>#define NOT_JUST_TUPLE (a,b,c) text<br>#define AN_ARRAY (3,(a,b,c))<br>#define A_LIST (a,(b,(c,BOOST_PP_NIL)))<br>#define A_SEQ (a)(b)(c)<br>define A_SEQ_OF_SIZE_ONE (a)<br>#define A_TEXT text<br><br>BOOST_PP_ASSERT_IS_TUPLE(A_TUPLE) // no output<br>BOOST_PP_ASSERT_IS_TUPLE(NOT_JUST_TUPLE) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_TUPLE(AN_ARRAY) // no output, an <i>array</i> is also a <i>tuple</i><br>BOOST_PP_ASSERT_IS_TUPLE(A_LIST) // no output, a <i>list</i> is also a <i>tuple</i><br>BOOST_PP_ASSERT_IS_TUPLE(A_SEQ) // generates preprocessing error<br>BOOST_PP_ASSERT_IS_TUPLE(A_SEQ_OF_SIZE_ONE) // no output, a <i>sequence</i> of size 1 is also a <i>tuple</i><br>BOOST_PP_ASSERT_IS_TUPLE(A_TEXT) // generates preprocessing error<br></pre></div>
+	<hr size="1">
+	<div style="margin-left: 0px;">
+		<i></i><i>© Copyright Edward Diener 2011</i><br>
+	</div>
+	<div style="margin-left: 0px;">
+		<p><small>Distributed under the Boost Software License, Version 1.0. (See
+		accompanying file LICENSE_1_0.txt or
+		copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+	</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/ref/is_tuple_begin.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/is_tuple_begin.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,44 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>BOOST_PP_IS_TUPLE_BEGIN
+  </title>
+    <link rel="stylesheet" type="text/css" href="../styles.css">
+  </head>
+  <body>
+<div style="margin-left: 0px;"> The <b>BOOST_PP_IS_TUPLE_BEGIN </b>macro
+tests whether its parameter begins with a tuple. Although the macro
+itself is not a variadic macro, it needs variadic macro support in
+order to be invoked.<br>
+ </div>
+<h4>Usage</h4>
+<div class="code"> <b>BOOST_PP_IS_TUPLE_BEGIN</b>(param) <sup>(v)</sup><br>
+ </div>
+<h4>Arguments</h4>
+<dl>
+<dt>param<br>
+</dt><dd>
+				The parameter to test.
+			</dd></dl>
+<h4>Remarks</h4>
+<div>If the <i>param </i>begins with a tuple the macro returns 1, otherwise returns 0. The <i>param </i>may contain other tokens after the tuple and it still will return 1. Therefore this macro is <b>NOT </b>a test whether or not the <i>param </i>is a tuple or not, since there is absolutely no safe way to test that. In order to assert that the <i>param </i>is a tuple, use BOOST_PP_ASSERT_IS_TUPLE.
+</div>See Also
+<ul>
+<li>BOOST_PP_ASSERT_IS_TUPLE</li>
+</ul>
+<b>Requirements</b>
+<div> <b>Header:</b>  <boost/preprocessor/facilities/is_tuple_begin.hpp><br>
+</div>
+<h4>Sample Code</h4>
+<div>
+<pre>#include <boost/preprocessor/facilities/is_tuple_begin.hpp><br>#include <boost/preprocessor/debug/assert_is_tuple.hpp><br><br>#define ONLY_TUPLE (a,b,c)<br>#define STARTS_WITH_TUPLE (a,b,c) cheers<br>#define ENDS_WITH_TUPLE cheers (a,b,c)<br>#define HAS_NO_TUPLE cheers<br><br>BOOST_PP_IS_TUPLE_BEGIN(ONLY_TUPLE) // output is 1<br>BOOST_PP_IS_TUPLE_BEGIN(STARTS_WITH_TUPLE) // output is 1<br>BOOST_PP_IS_TUPLE_BEGIN(ENDS_WITH_TUPLE) // output is 0<br>BOOST_PP_IS_TUPLEv(HAS_NO_TUPLE) // output is 0<br><br>BOOST_PP_ASSERT_IS_TUPLE(ONLY_TUPLE) // no output<br>BOOST_PP_ASSERT_IS_TUPLE(STARTS_WITH_TUPLE) // generates a preprocessing error<br>BOOST_PP_ASSERT_IS_TUPLE(ENDS_WITH_TUPLE) // generates a preprocessing error<br>BOOST_PP_ASSERT_IS_TUPLE(HAS_NO_TUPLE) // generates a preprocessing error</pre>
+</div>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Disributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+  </body>
+</html>
Added: branches/pplib/v2/libs/preprocessor/doc/ref/remove_parens.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/remove_parens.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -0,0 +1,37 @@
+<html>
+  <head>
+  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
+  <title>BOOST_PP_REMOVE_PARENS
+  </title>
+    <link rel="stylesheet" type="text/css" href="../styles.css">
+  </head>
+  <body>
+<div style="margin-left: 0px;"> The <b>BOOST_PP_REMOVE_PARENS </b>macro expands to its argument with the starting pair of parens removed if it exists. Although the macro itself is not a variadic macro, it needs variadic macro support in order to be invoked.
+ </div>
+<h4>Usage</h4>
+<div class="code"> <b>BOOST_PP_REMOVE_PARENS</b>(<i>param</i>) <sup>(v)</sup><br>
+ </div>
+<h4>Arguments</h4>
+<dl>
+<dt>param<br>
+</dt><dd>
+				The parameter whose parens will be removed.
+			</dd></dl>
+<h4>Remarks</h4>
+<div> This macro returns its argument with the starting pair of parens removed. If <i>param </i>does not start with parens, the macro just returns its argument.
+</div><b>Requirements</b>
+<div> <b>Header:</b>  <boost/preprocessor/facilities/remove_parens.hpp>
+</div>
+<h4>Sample Code</h4>
+<div>
+<pre>#include <boost/preprocessor/facilities/remove_parens.hpp><br><br>#define ONLY_PARENS (a,b,c)<br>#define STARTS_WITH_PARENS (a,b,c) cheers (d,e)<br>#define ENDS_WITH_PARENS cheers (a,b,c)<br><br>BOOST_PP_REMOVE_PARENS(ONLY_PARENS) // output is: a,b,c<br>BOOST_PP_REMOVE_PARENS(STARTS_WITH_PARENS) // output is: a,b,c cheers (d,e)<br>BOOST_PP_REMOVE_PARENS(ENDS_WITH_PARENS) // output is: cheers (a,b,c)</pre>
+</div>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+  </body>
+</html>
Modified: branches/pplib/v2/libs/preprocessor/doc/syntax.html
==============================================================================
--- branches/pplib/v2/libs/preprocessor/doc/syntax.html	(original)
+++ branches/pplib/v2/libs/preprocessor/doc/syntax.html	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -1,6 +1,7 @@
 <html>
   <head>
-    <title>syntax.html</title>
+  <title>syntax.html
+  </title>
     <link rel="stylesheet" type="text/css" href="styles.css">
   </head>
   <body>
@@ -32,7 +33,11 @@
     <br>BOOST_PP_ARRAY_TO_SEQ
     <br>BOOST_PP_ARRAY_TO_TUPLE
     <br>BOOST_PP_ASSERT
-	<br>BOOST_PP_ASSERT_MSG
+	<br>
+BOOST_PP_ASSERT_ARRAY <br>
+BOOST_PP_ASSERT_LIST <br>
+BOOST_PP_ASSERT_SEQ <br>
+BOOST_PP_ASSERT_TUPLE <br>BOOST_PP_ASSERT_MSG
         <br>BOOST_PP_ASSIGN_SLOT
         <!-- B -->
         <br>BOOST_PP_BITAND
@@ -108,7 +113,8 @@
         <br>BOOST_PP_INTERCEPT
         <br>BOOST_PP_IS_ITERATING
         <br>BOOST_PP_IS_SELFISH
-	<br>BOOST_PP_ITERATE
+	<br>
+BOOST_PP_IS_TUPLE_BEGIN <br>BOOST_PP_ITERATE
         <br>BOOST_PP_ITERATION
         <br>BOOST_PP_ITERATION_DEPTH
         <br>BOOST_PP_ITERATION_FINISH
@@ -212,7 +218,8 @@
         <br>BOOST_PP_RELATIVE_FLAGS
         <br>BOOST_PP_RELATIVE_ITERATION
         <br>BOOST_PP_RELATIVE_START
-	<br>BOOST_PP_REPEAT
+	<br>
+BOOST_PP_REMOVE_PARENS <br>BOOST_PP_REPEAT
         <br>BOOST_PP_REPEAT_1ST
         <br>BOOST_PP_REPEAT_2ND
         <br>BOOST_PP_REPEAT_3RD
@@ -304,4 +311,4 @@
 http://www.boost.org/LICENSE_1_0.txt)
 -->
   </body>
-</html>
\ No newline at end of file
+</html>
Modified: branches/pplib/v2/libs/preprocessor/test/Jamfile.v2
==============================================================================
--- branches/pplib/v2/libs/preprocessor/test/Jamfile.v2	(original)
+++ branches/pplib/v2/libs/preprocessor/test/Jamfile.v2	2011-07-13 10:33:21 EDT (Wed, 13 Jul 2011)
@@ -34,79 +34,6 @@
         [ compile variadic.cpp ]
    ;
 
-test-suite preprocessor_gcc 
-   :   
-        [ compile arithmetic.cpp 
-          : <cxxflags>-std=c++0x
-          : arithmetic_gcc 
-        ] 
-        [ compile array.cpp 
-          : <cxxflags>-std=c++0x 
-          : array_gcc 
-        ] 
-        [ compile comparison.cpp 
-          : <cxxflags>-std=c++0x 
-          : comparison_gcc 
-        ] 
-        [ compile control.cpp 
-          : <cxxflags>-std=c++0x 
-          : control_gcc 
-        ] 
-        [ compile debug.cpp 
-          : <cxxflags>-std=c++0x 
-          : debug_gcc 
-        ] 
-        [ compile facilities.cpp 
-          : <cxxflags>-std=c++0x 
-          : facilities_gcc 
-        ] 
-        [ compile iteration.cpp 
-          : <cxxflags>-std=c++0x 
-          : iteration_gcc 
-        ] 
-        [ compile list.cpp 
-          : <cxxflags>-std=c++0x 
-          : list_gcc 
-        ] 
-        [ compile logical.cpp 
-          : <cxxflags>-std=c++0x 
-          : logical_gcc 
-        ] 
-        [ compile repetition.cpp 
-          : <cxxflags>-std=c++0x 
-          : repetition_gcc 
-        ] 
-        [ compile selection.cpp 
-          : <cxxflags>-std=c++0x 
-          : selection_gcc 
-        ] 
-        [ compile seq.cpp 
-          : <cxxflags>-std=c++0x 
-          : seq_gcc 
-        ] 
-        [ compile slot.cpp 
-          : <cxxflags>-std=c++0x 
-          : slot_gcc 
-        ] 
-        [ compile tuple.cpp 
-          : <cxxflags>-std=c++0x 
-          : tuple_gcc 
-        ] 
-        [ compile variadic.cpp 
-          : <cxxflags>-std=c++0x 
-          : variadic_gcc 
-        ] 
-   :     
-   <toolset>gcc-4.3.0
-   <toolset>gcc-4.4.0
-   <toolset>gcc-4.5.0
-   <toolset>gcc-4.5.2
-   <toolset>gcc-4.6.0
-   ;
-
-test-suite preprocessor_gcc 
-   ;
-
 test-suite preprocessor_nvm
    :   
         [ compile arithmetic.cpp : <define>BOOST_PP_VARIADICS=0 : arithmetic_nvm ]
@@ -130,89 +57,88 @@
         [ compile-fail debug_fail_tuple.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_array.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_list.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_seq.cpp
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_tuple_2.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_array_2.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_list_2.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_seq_2.cpp
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_tuple_3.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_array_3.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_list_3.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_seq_3.cpp
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_tuple_4.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_array_4.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_list_4.cpp 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
         [ compile-fail debug_fail_seq_4.cpp
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cxxflags>-std=c++0x
+            <cxxflags>-std=c++0x
         ]
+   : 
+   <toolset>gcc
    ;
 
-test-suite preprocessor_dbg
- :   
- : <toolset>msvc
- ;
+test-suite preprocessor_dbg ;
 
 test-suite preprocessor_c
    :   
@@ -339,102 +265,101 @@
         [ compile-fail debug_fail_tuple.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_tuple_c
         ]
         [ compile-fail debug_fail_array.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_array_c  
         ]
         [ compile-fail debug_fail_list.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_list_c
         ]
         [ compile-fail debug_fail_seq.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_seq_c
         ]
         [ compile-fail debug_fail_tuple_2.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_tuple_2_c
         ]
         [ compile-fail debug_fail_array_2.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_array_2_c  
         ]
         [ compile-fail debug_fail_list_2.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_list_2_c
         ]
         [ compile-fail debug_fail_seq_2.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_seq_2_c
         ]
         [ compile-fail debug_fail_tuple_3.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_tuple_3_c
         ]
         [ compile-fail debug_fail_array_3.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_array_3_c  
         ]
         [ compile-fail debug_fail_list_3.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_list_3_c
         ]
         [ compile-fail debug_fail_seq_3.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_seq_3_c
         ]
         [ compile-fail debug_fail_tuple_4.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_tuple_4_c
         ]
         [ compile-fail debug_fail_array_4.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_array_4_c  
         ]
         [ compile-fail debug_fail_list_4.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_list_4_c
         ]
         [ compile-fail debug_fail_seq_4.c 
           : <variant>debug
             <define>BOOST_PP_VARIADICS=1
-            <toolset>gcc:<cflags>-std=c99
+            <cflags>-std=c99
           : debug_fail_seq_4_c
         ]
+   :
+   <toolset>gcc
    ;
 
-test-suite preprocessor_c_dbg
- :   
- : <toolset>msvc
- ;
+test-suite preprocessor_c_dbg ;