Merge Boost.Config changes from Trunk.

[SVN r47435]
This commit is contained in:
John Maddock
2008-07-15 10:41:52 +00:00
76 changed files with 1589 additions and 630 deletions

View File

@ -59,10 +59,36 @@ at that.
majority of compilers, such as namespaces, exceptions, RTTI, or templates. majority of compilers, such as namespaces, exceptions, RTTI, or templates.
[section:warnings Disabling Compiler Warnings]
The header `<boost/config/warning_disable.hpp>` can be used to disable
certain compiler warings that are hard or impossible to otherwise remove.
Note that:
* This header [*['should never be included by another Boost header]], it should
only ever be used by a library source file or a test case.
* The header should be included [*['before you include any other header]].
* 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.
Currently it disables the following warnings:
[table
[[Compiler][Warning]]
[[Visual C++ 8 and later][[@http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx C4996]: Error 'function': was declared deprecated]]
[[Intel C++][Warning 1786: relates to the use of "deprecated" standard
library functions rather like C4996 in Visual C++.]]
]
[endsect]
[section Adding New Defect Macros] [section Adding New Defect Macros]
When you need to add a new defect macro -either to fix a problem with an When you need to add a new defect macro - either to fix a problem with an
existing library, or when adding a new library- distil the issue down to existing library, or when adding a new library - distil the issue down to
a simple test case; often, at this point other (possibly better) workarounds a simple test case; often, at this point other (possibly better) workarounds
may become apparent. Secondly always post the test case code to the boost may become apparent. Secondly always post the test case code to the boost
mailing list and invite comments; remember that C++ is complex and that mailing list and invite comments; remember that C++ is complex and that
@ -81,7 +107,7 @@ place the test case in a `.ipp` file with the following comments near the top:
These comments are processed by the autoconf script, so make sure the format These comments are processed by the autoconf script, so make sure the format
follows the one given. The file should be named "`boost_no_foo.ipp`", where foo follows the one given. The file should be named "`boost_no_foo.ipp`", where foo
is the defect description -try and keep the file name under the Mac 30 character is the defect description - try and keep the file name under the Mac 30 character
filename limit though. You will also need to provide a function prototype filename limit though. You will also need to provide a function prototype
"`int test()`" that is declared in a namespace with the same name as the macro, "`int test()`" that is declared in a namespace with the same name as the macro,
but in all lower case, and which returns zero on success: but in all lower case, and which returns zero on success:
@ -100,15 +126,15 @@ but in all lower case, and which returns zero on success:
Once the test code is in place in libs/config/test, updating the configuration Once the test code is in place in libs/config/test, updating the configuration
test system proceeds as: test system proceeds as:
* cd into `libs/config/tools` and run `bjam --v2` : this generates the `.cpp` * cd into `libs/config/tools` and run `bjam` : this generates the `.cpp`
file test cases from the `.ipp` file, updates the Jamfile, `config_test.cpp` and file test cases from the `.ipp` file, updates the
`config_info.cpp`. libs/config/test/all/Jamfile.v2, `config_test.cpp` and `config_info.cpp`.
* cd into `libs/config/test` and run `bjam --v2 `['MACRONAME]` compiler-list` : where * cd into `libs/config/test/all` and run `bjam `['MACRONAME` compiler-list`] : where
['MACRONAME] is the name of the new macro, and `compiler-list` is the list of ['MACRONAME] is the name of the new macro, and ['`compiler-list`] is a space separated list of
compilers to test with. You should see the tests pass with those compilers compilers to test with. You should see the tests pass with those compilers
that don't have the defect, and fail with those that do. that don't have the defect, and fail with those that do.
* cd into `libs/config/test` and `run bjam --v2 config_info config_test compiler-list` : * cd into `libs/config/test` and run `bjam config_info config_test `['`compiler-list`] :
`config_info` should build and run cleanly for all the compilers in `compiler-list` `config_info` should build and run cleanly for all the compilers in ['`compiler-list`]
while `config_test` should fail for those that have the defect, and pass for those while `config_test` should fail for those that have the defect, and pass for those
that do not. that do not.
@ -168,7 +194,7 @@ are included by default and should change only if support for a new
compiler/standard library/platform is added. compiler/standard library/platform is added.
The compiler/platform/standard library selection code is set up so that unknown The compiler/platform/standard library selection code is set up so that unknown
platforms are ignored and assumed to be fully standards compliant -this gives platforms are ignored and assumed to be fully standards compliant - this gives
unknown platforms a "sporting chance" of working "as is" even without running unknown platforms a "sporting chance" of working "as is" even without running
the configure script. the configure script.

View File

@ -1,5 +1,5 @@
index.html index.html
boost_config/boost_macro_reference.html boost_config/boost_macro_reference.html
boost_config/guidelines_for_boost_authors.html boost_config/guidelines_for_boost_authors.html
boost_config/rationale.html boost_config/rationale.html
boost_config/acknowledgements.html boost_config/acknowledgements.html

View File

@ -13,8 +13,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td> <td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td> <td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table> </tr></table>
<hr> <hr>

View File

@ -14,8 +14,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td> <td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td> <td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table> </tr></table>
<hr> <hr>
@ -31,8 +31,10 @@
that describe defects</a></span></dt> that describe defects</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros <dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
that describe optional features</a></span></dt> that describe optional features</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features">Macros <dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features">Macros
that describe C++0x features</a></span></dt> that describe possible C++0x features</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported">Macros
that describe C++0x features not supported</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost <dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
Helper Macros</a></span></dt> Helper Macros</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost <dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
@ -117,6 +119,24 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_ADL_BARRIER</span></code>
</p>
</td>
<td>
<p>
Compiler
</p>
</td>
<td>
<p>
The compiler locates and searches namespaces that it should <span class="emphasis"><em>*not*</em></span>
in fact search when performing argument dependent lookup.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</span></code>
@ -258,8 +278,7 @@
The compiler fails to compile a nested class that has a dependent The compiler fails to compile a nested class that has a dependent
base class: base class:
</p> </p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">foo</span> <span class="special">:</span> <span class="special">{</span> <span class="keyword">struct</span> <span class="identifier">foo</span> <span class="special">:</span> <span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">bar</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">U</span> <span class="special">{};</span> <span class="keyword">struct</span> <span class="identifier">bar</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">U</span> <span class="special">{};</span>
@ -285,8 +304,7 @@
Template value parameters cannot have a dependent type, for example: Template value parameters cannot have a dependent type, for example:
</p> </p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">&gt;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">X</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span> <span class="keyword">class</span> <span class="identifier">X</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
</pre> </pre>
<p> <p>
@ -367,8 +385,7 @@
The compiler does not perform function template ordering or its function The compiler does not perform function template ordering or its function
template ordering is incorrect. template ordering is incorrect.
</p> </p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="comment">// #1
<span class="comment">// #1
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span> </span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>
<span class="comment">// #2 <span class="comment">// #2
@ -653,6 +670,24 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS</span></code>
</p>
</td>
<td>
<p>
Compiler
</p>
</td>
<td>
<p>
The compiler does not correctly handle partial specializations which
depend upon default arguments in the primary template.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_POINTER_TO_MEMBER_CONST</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_POINTER_TO_MEMBER_CONST</span></code>
@ -1012,6 +1047,23 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_IOSTREAMS</span></code>
</p>
</td>
<td>
<p>
Standard library
</p>
</td>
<td>
<p>
The standard library does not provide templated iostream classes.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS</span></code>
@ -1138,8 +1190,7 @@
The compiler does not allow a void function to return the result The compiler does not allow a void function to return the result
of calling another void function. of calling another void function.
</p> </p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">{}</span>
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">{}</span>
<span class="keyword">void</span> <span class="identifier">g</span><span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">f</span><span class="special">();</span> <span class="special">}</span> <span class="keyword">void</span> <span class="identifier">g</span><span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">f</span><span class="special">();</span> <span class="special">}</span>
</pre> </pre>
<p> <p>
@ -2061,12 +2112,13 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features" title="Macros that describe C++0x features">Macros <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 C++0x features</a> that describe possible C++0x features</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
The following macros describe features that are likely to be included in The following macros describe features that are likely to be included in
the upcoming ISO C++ standard, C++0x. the upcoming ISO C++ standard, C++0x, but have not yet been approved for
inclusion in the language.
</p> </p>
<div class="informaltable"><table class="table"> <div class="informaltable"><table class="table">
<colgroup> <colgroup>
@ -2085,8 +2137,7 @@
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody><tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_CONCEPTS</span></code> <code class="computeroutput"><span class="identifier">BOOST_HAS_CONCEPTS</span></code>
@ -2094,68 +2145,222 @@
</td> </td>
<td> <td>
<p> <p>
The compiler supports concepts. Note: concepts have been proposed The compiler supports concepts.
for C++0x, but have not yet been approved for inclusion in the language. </p>
</td>
</tr></tbody>
</table></div>
</div>
<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>
</h3></div></div></div>
<p>
The following macros describe features in the upcoming ISO C++ standard,
C++0x, that are not yet supported by a particular compiler.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Macro
</p>
</th>
<th>
<p>
Description
</p>
</th>
<td class="auto-generated"><EFBFBD></td>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CHAR16_T</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type <code class="computeroutput"><span class="identifier">char16_t</span></code>.
</p>
</td>
<td class="auto-generated"><EFBFBD></td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CHAR32_T</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type <code class="computeroutput"><span class="identifier">char32_t</span></code>.
</p>
</td>
<td class="auto-generated"><EFBFBD></td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CONSTEXPR</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="identifier">constexpr</span></code>.
</p>
</td>
<td class="auto-generated"><EFBFBD></td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_DECLTYPE</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="identifier">decltype</span></code>.
</p>
</td>
<td class="auto-generated"><EFBFBD></td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_DEFAULTED_FUNCTIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
<span class="keyword">default</span></code>) functions. [[<code class="computeroutput"><span class="identifier">BOOST_NO_DELETED_FUNCTIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
<span class="keyword">delete</span></code>) functions.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_DECLTYPE</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_EXPLICIT_CONVERSION_OPERATIONS</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The compiler supports decltype. The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
<span class="identifier">T</span><span class="special">()</span></code>).
</p> </p>
</td> </td>
<td class="auto-generated"><EFBFBD></td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_LONG_LONG</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_EXTERN_TEMPLATE</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The compiler supports the long long data type. The compiler does not support explicit instantiation declarations
for templates (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">template</span></code>).
</p> </p>
</td> </td>
<td class="auto-generated"><EFBFBD></td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_RVALUE_REFS</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The compiler supports rvalue references. The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
<span class="keyword">long</span></code>.
</p> </p>
</td> </td>
<td class="auto-generated"><EFBFBD></td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_STATIC_ASSERT</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_RAW_LITERALS</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The compiler supports static assertions. The compiler does not support raw string literals.
</p> </p>
</td> </td>
<td class="auto-generated"><EFBFBD></td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_VARIADIC_TMPL</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_RVALUE_REFERENCES</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The compiler supports variadic templates. The compiler does not support r-value references.
</p>
</td>
<td class="auto-generated"><EFBFBD></td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_SCOPED_ENUMS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support scoped enumerations (<code class="computeroutput"><span class="keyword">enum</span> <span class="keyword">class</span></code>).
</p>
</td>
<td class="auto-generated"><EFBFBD></td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_STATIC_ASSERT</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="identifier">static_assert</span></code>.
</p>
</td>
<td class="auto-generated"><EFBFBD></td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_UNICODE_LITERALS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support Unicode (<code class="computeroutput"><span class="identifier">u8</span></code>,
<code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">U</span>#<span class="special">)</span> <span class="identifier">literals</span><span class="special">.</span>
<span class="special">]]</span> <span class="special">[[</span></code>BOOST_NO_VARIADIC_TEMPLATES`
</p>
</td>
<td>
<p>
The compiler does not support variadic templates.
</p> </p>
</td> </td>
</tr> </tr>
@ -2280,16 +2485,14 @@
us a convenient way to declare such constants. For example instead us a convenient way to declare such constants. For example instead
of: of:
</p> </p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<p> <p>
use: use:
</p> </p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
<span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">);</span> <span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">);</span>
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
@ -2322,8 +2525,7 @@
instantiations if some of the template parameters don't appear in instantiations if some of the template parameters don't appear in
the function parameter list. For instance: the function parameter list. For instance:
</p> </p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">ostream</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">ostream</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">typeinfo</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">typeinfo</span><span class="special">&gt;</span>
@ -2347,8 +2549,7 @@
problem without effects on the calling syntax. For instance, in the problem without effects on the calling syntax. For instance, in the
case above write: case above write:
</p> </p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">&gt;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">n</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">n</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
@ -2742,8 +2943,7 @@
<p> <p>
<span class="bold"><strong>my_library.hpp</strong></span> <span class="bold"><strong>my_library.hpp</strong></span>
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="preprocessor">#ifndef</span> <span class="identifier">MY_INCLUDE_GUARD</span>
<span class="preprocessor">#ifndef</span> <span class="identifier">MY_INCLUDE_GUARD</span>
<span class="preprocessor">#define</span> <span class="identifier">MY_INCLUDE_GUARD</span> <span class="preprocessor">#define</span> <span class="identifier">MY_INCLUDE_GUARD</span>
<span class="comment">// all includes go here: <span class="comment">// all includes go here:
@ -2765,8 +2965,7 @@
<p> <p>
<span class="bold"><strong>my_library.cpp</strong></span> <span class="bold"><strong>my_library.cpp</strong></span>
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="special">...</span>
<span class="special">...</span>
<span class="comment">// nothing special need be done in the implementation file <span class="comment">// nothing special need be done in the implementation file
</span><span class="special">...</span> </span><span class="special">...</span>
</pre> </pre>
@ -2831,8 +3030,7 @@
<p> <p>
<span class="bold"><strong>my_library.hpp</strong></span> <span class="bold"><strong>my_library.hpp</strong></span>
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="special">...</span>
<span class="special">...</span>
<span class="comment">// <span class="comment">//
</span><span class="comment">// Don't include auto-linking code if the user has disabled it by </span><span class="comment">// Don't include auto-linking code if the user has disabled it by
</span><span class="comment">// defining BOOST_ALL_NO_LIB, or BOOST_MY_LIBRARY_NO_LIB, or if this </span><span class="comment">// defining BOOST_ALL_NO_LIB, or BOOST_MY_LIBRARY_NO_LIB, or if this
@ -2850,8 +3048,7 @@
<p> <p>
<span class="bold"><strong>my_library.cpp</strong></span> <span class="bold"><strong>my_library.cpp</strong></span>
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="comment">// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
<span class="comment">// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
</span><span class="comment">// library is being built (possibly exporting rather than importing code) </span><span class="comment">// library is being built (possibly exporting rather than importing code)
</span><span class="comment">// </span><span class="comment">//
</span><span class="preprocessor">#define</span> <span class="identifier">BOOST_MY_LIBRARY_SOURCE</span> </span><span class="preprocessor">#define</span> <span class="identifier">BOOST_MY_LIBRARY_SOURCE</span>

View File

@ -14,8 +14,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td> <td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td> <td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table> </tr></table>
<hr> <hr>
@ -28,6 +28,8 @@
Boost Authors</a> Boost Authors</a>
</h2></div></div></div> </h2></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">
Disabling Compiler Warnings</a></span></dt>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding <dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
New Defect Macros</a></span></dt> New Defect Macros</a></span></dt>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding <dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding
@ -103,12 +105,91 @@
</ul></div> </ul></div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <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>
</h3></div></div></div>
<p>
The header <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">warning_disable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
can be used to disable certain compiler warings that are hard or impossible
to otherwise remove.
</p>
<p>
Note that:
</p>
<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>
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>
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.
</li>
</ul></div>
<p>
Currently it disables the following warnings:
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Compiler
</p>
</th>
<th>
<p>
Warning
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
Visual C++ 8 and later
</p>
</td>
<td>
<p>
<a href="http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx" target="_top">C4996</a>:
Error 'function': was declared deprecated
</p>
</td>
</tr>
<tr>
<td>
<p>
Intel C++
</p>
</td>
<td>
<p>
Warning 1786: relates to the use of "deprecated" standard
library functions rather like C4996 in Visual C++.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<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 <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> New Defect Macros</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
When you need to add a new defect macro -either to fix a problem with an When you need to add a new defect macro - either to fix a problem with an
existing library, or when adding a new library- distil the issue down to existing library, or when adding a new library - distil the issue down to
a simple test case; often, at this point other (possibly better) workarounds a simple test case; often, at this point other (possibly better) workarounds
may become apparent. Secondly always post the test case code to the boost may become apparent. Secondly always post the test case code to the boost
mailing list and invite comments; remember that C++ is complex and that sometimes mailing list and invite comments; remember that C++ is complex and that sometimes
@ -125,22 +206,20 @@
the test case in a <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> the test case in a <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code>
file with the following comments near the top: file with the following comments near the top:
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="comment">// MACRO: BOOST_NO_FOO
<span class="comment">// MACRO: BOOST_NO_FOO
</span><span class="comment">// TITLE: foo </span><span class="comment">// TITLE: foo
</span><span class="comment">// DESCRIPTION: If the compiler fails to support foo </span><span class="comment">// DESCRIPTION: If the compiler fails to support foo
</span></pre> </span></pre>
<p> <p>
These comments are processed by the autoconf script, so make sure the format These comments are processed by the autoconf script, so make sure the format
follows the one given. The file should be named "<code class="computeroutput"><span class="identifier">boost_no_foo</span><span class="special">.</span><span class="identifier">ipp</span></code>", follows the one given. The file should be named "<code class="computeroutput"><span class="identifier">boost_no_foo</span><span class="special">.</span><span class="identifier">ipp</span></code>",
where foo is the defect description -try and keep the file name under the where foo is the defect description - try and keep the file name under the
Mac 30 character filename limit though. You will also need to provide a function Mac 30 character filename limit though. You will also need to provide a function
prototype "<code class="computeroutput"><span class="keyword">int</span> <span class="identifier">test</span><span class="special">()</span></code>" that is declared in a namespace with prototype "<code class="computeroutput"><span class="keyword">int</span> <span class="identifier">test</span><span class="special">()</span></code>" that is declared in a namespace with
the same name as the macro, but in all lower case, and which returns zero the same name as the macro, but in all lower case, and which returns zero
on success: on success:
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost_no_foo</span> <span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">boost_no_foo</span> <span class="special">{</span>
<span class="keyword">int</span> <span class="identifier">test</span><span class="special">()</span> <span class="keyword">int</span> <span class="identifier">test</span><span class="special">()</span>
<span class="special">{</span> <span class="special">{</span>
@ -157,26 +236,25 @@
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul type="disc">
<li> <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> 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>
<span class="special">--</span><span class="identifier">v2</span></code>
: this generates the <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</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 Jamfile, <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>. 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>.
</li>
<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
<span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span> is a space separated
list of compilers to test with. You should see the tests pass with those
compilers that don't have the defect, and fail with those that do.
</li> </li>
<li> <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> 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="special">--</span><span class="identifier">v2</span> <span class="identifier">config_info</span> <span class="identifier">config_test</span>
</code><span class="emphasis"><em>MACRONAME</em></span><code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code> </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>
: where <span class="emphasis"><em>MACRONAME</em></span> is the name of the new macro, and
<code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code> is the list of compilers to test
with. You should see the tests pass with those compilers that don't have
the defect, and fail with those that do.
</li>
<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 <code class="computeroutput"><span class="identifier">run</span>
<span class="identifier">bjam</span> <span class="special">--</span><span class="identifier">v2</span> <span class="identifier">config_info</span>
<span class="identifier">config_test</span> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code>
: <code class="computeroutput"><span class="identifier">config_info</span></code> should build : <code class="computeroutput"><span class="identifier">config_info</span></code> should build
and run cleanly for all the compilers in <code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code> and run cleanly for all the compilers in <span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>
while <code class="computeroutput"><span class="identifier">config_test</span></code> should while <code class="computeroutput"><span class="identifier">config_test</span></code> should
fail for those that have the defect, and pass for those that do not. fail for those that have the defect, and pass for those that do not.
</li> </li>
@ -265,9 +343,9 @@
</p> </p>
<p> <p>
The compiler/platform/standard library selection code is set up so that unknown The compiler/platform/standard library selection code is set up so that unknown
platforms are ignored and assumed to be fully standards compliant -this gives platforms are ignored and assumed to be fully standards compliant - this
unknown platforms a "sporting chance" of working "as is" gives unknown platforms a "sporting chance" of working "as
even without running the configure script. is" even without running the configure script.
</p> </p>
<p> <p>
When adding or modifying the individual mini-configs, assume that future, When adding or modifying the individual mini-configs, assume that future,

View File

@ -14,8 +14,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td> <td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td> <td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table> </tr></table>
<hr> <hr>

View File

@ -12,8 +12,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td> <td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td> <td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table> </tr></table>
<hr> <hr>
@ -28,7 +28,7 @@
</h3></div></div></div> </h3></div></div></div>
<div><p class="copyright">Copyright <20> 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div> <div><p class="copyright">Copyright <20> 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
<div><div class="legalnotice"> <div><div class="legalnotice">
<a name="id2625913"></a><p> <a name="id464982"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying 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" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p> </p>
@ -61,8 +61,10 @@
that describe defects</a></span></dt> that describe defects</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros <dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
that describe optional features</a></span></dt> that describe optional features</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features">Macros <dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features">Macros
that describe C++0x features</a></span></dt> that describe possible C++0x features</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported">Macros
that describe C++0x features not supported</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost <dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
Helper Macros</a></span></dt> Helper Macros</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost <dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
@ -73,6 +75,8 @@
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html">Guidelines for <dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html">Guidelines for
Boost Authors</a></span></dt> Boost Authors</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">
Disabling Compiler Warnings</a></span></dt>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding <dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
New Defect Macros</a></span></dt> New Defect Macros</a></span></dt>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding <dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding
@ -139,8 +143,7 @@
<p> <p>
Boost library implementations access configuration macros via Boost library implementations access configuration macros via
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="preprocessor">#include</span> <a href="../../../../boost/config.hpp" target="_top">&lt;boost/config.hpp&gt;</a>
<span class="preprocessor">#include</span> <a href="../../../../boost/config.hpp" target="_top">&lt;boost/config.hpp&gt;</a>
</pre> </pre>
<p> <p>
While Boost library users are not required to include that file directly, While Boost library users are not required to include that file directly,
@ -275,8 +278,7 @@
For example to run the configure script with HP aCC, you might use something For example to run the configure script with HP aCC, you might use something
like: like:
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="keyword">export</span> <span class="identifier">CXX</span><span class="special">=</span><span class="string">"aCC"</span>
<span class="keyword">export</span> <span class="identifier">CXX</span><span class="special">=</span><span class="string">"aCC"</span>
<span class="keyword">export</span> <span class="identifier">CXXFLAGS</span><span class="special">=</span><span class="string">"-Aa -DAportable -D__HPACC_THREAD_SAFE_RB_TREE \ <span class="keyword">export</span> <span class="identifier">CXXFLAGS</span><span class="special">=</span><span class="string">"-Aa -DAportable -D__HPACC_THREAD_SAFE_RB_TREE \
-DRWSTD_MULTI_THREAD -DRW_MULTI_THREAD -D_REENTRANT -D_THREAD_SAFE"</span> -DRWSTD_MULTI_THREAD -DRW_MULTI_THREAD -D_REENTRANT -D_THREAD_SAFE"</span>
<span class="keyword">export</span> <span class="identifier">LDFLAGS</span><span class="special">=</span><span class="string">"-DAportable"</span> <span class="keyword">export</span> <span class="identifier">LDFLAGS</span><span class="special">=</span><span class="string">"-DAportable"</span>
@ -743,8 +745,7 @@
there. Finally, open up <a href="../../../../boost/config/user.hpp" target="_top">&lt;boost/config/user.hpp&gt;</a> there. Finally, open up <a href="../../../../boost/config/user.hpp" target="_top">&lt;boost/config/user.hpp&gt;</a>
and edit the following defines: and edit the following defines:
</p> </p>
<pre class="programlisting"> <pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_COMPILER_CONFIG</span> <span class="string">"boost/config/mysetup/visualc.hpp"</span>
<span class="preprocessor">#define</span> <span class="identifier">BOOST_COMPILER_CONFIG</span> <span class="string">"boost/config/mysetup/visualc.hpp"</span>
<span class="preprocessor">#define</span> <span class="identifier">BOOST_STDLIB_CONFIG</span> <span class="string">"boost/config/mysetup/stlport.hpp"</span> <span class="preprocessor">#define</span> <span class="identifier">BOOST_STDLIB_CONFIG</span> <span class="string">"boost/config/mysetup/stlport.hpp"</span>
<span class="preprocessor">#define</span> <span class="identifier">BOOST_USER_CONFIG</span> <span class="string">"boost/config/mysetup/win32.hpp"</span> <span class="preprocessor">#define</span> <span class="identifier">BOOST_USER_CONFIG</span> <span class="string">"boost/config/mysetup/win32.hpp"</span>
</pre> </pre>
@ -961,7 +962,7 @@
</p> </p>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: March 15, 2008 at 13:57:39 GMT</small></p></td> <td align="left"><p><small>Last revised: June 20, 2008 at 00:19:08 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> <td align="right"><div class="copyright-footer"></div></td>
</tr></table> </tr></table>
<hr> <hr>

View File

@ -38,6 +38,10 @@ symbol being looked up in the current scope. For example, using
in namespaces nested inside boost (but not elsewhere). Probably in namespaces nested inside boost (but not elsewhere). Probably
Borland specific. Borland specific.
]] ]]
[[`BOOST_NO_ADL_BARRIER`][Compiler][
The compiler locates and searches namespaces that it should /*not*/ in fact
search when performing argument dependent lookup.
]]
[[`BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP`][Compiler][ [[`BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP`][Compiler][
Compiler does not implement argument-dependent lookup (also named Compiler does not implement argument-dependent lookup (also named
Koenig lookup); see std::3.4.2 \[basic.koenig.lookup\] Koenig lookup); see std::3.4.2 \[basic.koenig.lookup\]
@ -172,6 +176,10 @@ Compiler requires inherited operator friend functions to be defined at
namespace scope, then using'ed to boost. Probably GCC specific. See namespace scope, then using'ed to boost. Probably GCC specific. See
[@../../../../boost/operators.hpp `<boost/operators.hpp>`] for example. [@../../../../boost/operators.hpp `<boost/operators.hpp>`] for example.
]] ]]
[[`BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS`][Compiler][
The compiler does not correctly handle partial specializations
which depend upon default arguments in the primary template.
]]
[[`BOOST_NO_POINTER_TO_MEMBER_CONST`][Compiler][ [[`BOOST_NO_POINTER_TO_MEMBER_CONST`][Compiler][
The compiler does not correctly handle pointers to const member functions, The compiler does not correctly handle pointers to const member functions,
preventing use of these in overloaded function templates. See preventing use of these in overloaded function templates. See
@ -246,6 +254,9 @@ The platform does not have a conforming version of `swprintf`.
Class template partial specialization (14.5.4 \[temp.class.spec\]) not Class template partial specialization (14.5.4 \[temp.class.spec\]) not
supported. supported.
]] ]]
[[`BOOST_NO_TEMPLATED_IOSTREAMS`][Standard library][
The standard library does not provide templated iostream classes.
]]
[[`BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS`][Standard library][ [[`BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS`][Standard library][
The standard library does not provide templated iterator constructors The standard library does not provide templated iterator constructors
for its containers. for its containers.
@ -476,36 +487,75 @@ standard).
[endsect] [endsect]
[section Macros that describe C++0x features] [section Macros that describe possible C++0x features]
The following macros describe features that are likely to be included in the The following macros describe features that are likely to be included in the
upcoming ISO C++ standard, C++0x. upcoming ISO C++ standard, C++0x, but have not yet been approved for inclusion
in the language.
[table [table
[[Macro ][Description ]] [[Macro ][Description ]]
[[`BOOST_HAS_CONCEPTS`][ [[`BOOST_HAS_CONCEPTS`][
The compiler supports concepts. Note: concepts have been proposed for C++0x, The compiler supports concepts.
but have not yet been approved for inclusion in the language.
]]
[[`BOOST_HAS_DECLTYPE`][
The compiler supports decltype.
]]
[[`BOOST_HAS_LONG_LONG`][
The compiler supports the long long data type.
]]
[[`BOOST_HAS_RVALUE_REFS`][
The compiler supports rvalue references.
]]
[[`BOOST_HAS_STATIC_ASSERT`][
The compiler supports static assertions.
]]
[[`BOOST_HAS_VARIADIC_TMPL`][
The compiler supports variadic templates.
]] ]]
] ]
[endsect]
[section Macros that describe C++0x features not supported]
The following macros describe features in the upcoming ISO C++ standard, C++0x,
that are not yet supported by a particular compiler.
[table
[[Macro ][Description ]]
[[`BOOST_NO_CHAR16_T`][The compiler does not support
type `char16_t`.
]]
[[`BOOST_NO_CHAR32_T`][The compiler does not support
type `char32_t`.
]]
[[`BOOST_NO_CONSTEXPR`][The compiler does not support
`constexpr`.
]]
[[`BOOST_NO_DECLTYPE`][The compiler does not support
`decltype`.
]]
[[`BOOST_NO_DEFAULTED_FUNCTIONS`][The compiler does not support
defaulted (`= default`) functions.
[[`BOOST_NO_DELETED_FUNCTIONS`][The compiler does not support
deleted (`= delete`) functions.
]]
[[`BOOST_NO_EXPLICIT_CONVERSION_OPERATIONS`][The compiler does not support
explicit conversion operators (`explicit operator T()`).
]]
[[`BOOST_NO_EXTERN_TEMPLATE`][The compiler does not support
explicit instantiation declarations for templates (`explicit template`).
]]
[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
]]
[[`BOOST_NO_RAW_LITERALS`][The compiler does not support
raw string literals.
]]
[[`BOOST_NO_RVALUE_REFERENCES`][The compiler does not support
r-value references.
]]
[[`BOOST_NO_SCOPED_ENUMS`][The compiler does not support
scoped enumerations (`enum class`).
]]
[[`BOOST_NO_STATIC_ASSERT`][The compiler does not support
`static_assert`.
]]
[[`BOOST_NO_UNICODE_LITERALS`][The compiler does not support
Unicode (`u8`, `u`, `U') literals.
]]
[[`BOOST_NO_VARIADIC_TEMPLATES`][The compiler does not support
variadic templates.
]]
]
[endsect] [endsect]

View File

@ -1,6 +1,6 @@
// abi_prefix header -------------------------------------------------------// // abi_prefix header -------------------------------------------------------//
// <EFBFBD> Copyright John Maddock 2003 // (c) Copyright John Maddock 2003
// Use, modification and distribution are subject to the Boost Software License, // Use, modification and distribution are subject to the Boost Software License,
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at

View File

@ -1,6 +1,6 @@
// abi_sufffix header -------------------------------------------------------// // abi_sufffix header -------------------------------------------------------//
// <EFBFBD> Copyright John Maddock 2003 // (c) Copyright John Maddock 2003
// Use, modification and distribution are subject to the Boost Software License, // Use, modification and distribution are subject to the Boost Software License,
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@ -10,7 +10,7 @@
// <boost/config/abi_prefix.hpp>. // <boost/config/abi_prefix.hpp>.
#ifndef BOOST_CONFIG_ABI_PREFIX_HPP #ifndef BOOST_CONFIG_ABI_PREFIX_HPP
# error Header boost/config/abi_prefix.hpp must only be used after boost/config/abi_prefix.hpp # error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
#else #else
# undef BOOST_CONFIG_ABI_PREFIX_HPP # undef BOOST_CONFIG_ABI_PREFIX_HPP
#endif #endif
@ -24,3 +24,4 @@
#pragma nopushoptwarn #pragma nopushoptwarn
#endif #endif

View File

@ -146,6 +146,12 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
#if BOOST_INTEL_CXX_VERSION < 500 #if BOOST_INTEL_CXX_VERSION < 500
# error "Compiler not supported or configured - please reconfigure" # error "Compiler not supported or configured - please reconfigure"
#endif #endif
// Intel on MacOS requires
#if defined(__APPLE__) && defined(__INTEL_COMPILER)
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#endif
// //
// last known and checked version: // last known and checked version:
#if (BOOST_INTEL_CXX_VERSION > 1010) #if (BOOST_INTEL_CXX_VERSION > 1010)

View File

@ -7,6 +7,7 @@
// PGI C++ compiler setup: // PGI C++ compiler setup:
#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) #define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
// //
@ -15,10 +16,17 @@
// if no threading API is detected. // if no threading API is detected.
// //
#if (__PGIC__ == 7) && (__PGIC_MINOR__ == 1)
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#define BOOST_NO_SWPRINTF #define BOOST_NO_SWPRINTF
#else
# error "Pgi compiler not configured - please reconfigure"
#endif
// //
// version check: // version check:
// probably nothing to do here? // probably nothing to do here?

View File

@ -40,7 +40,7 @@
// initialized in-class. // initialized in-class.
// >> Assertion: (../links/dbg_cstabs.cc, line 611) // >> Assertion: (../links/dbg_cstabs.cc, line 611)
// while processing ../test.cpp at line 0. // while processing ../test.cpp at line 0.
// (Jens Maurer according to Gottfried Gan<EFBFBD>auge 04 Mar 2002) // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
// SunPro 5.3 has better support for partial specialization, // SunPro 5.3 has better support for partial specialization,
@ -73,6 +73,7 @@
// Issues that effect all known versions: // Issues that effect all known versions:
// //
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#define BOOST_NO_ADL_BARRIER
#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)

View File

@ -1,7 +1,7 @@
// (C) Copyright John Maddock 2001 - 2003. // (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Toon Knapen 2001 - 2003. // (C) Copyright Toon Knapen 2001 - 2003.
// (C) Copyright Lie-Quan Lee 2001. // (C) Copyright Lie-Quan Lee 2001.
// (C) Copyright Markus Sch<EFBFBD>pflin 2002 - 2003. // (C) Copyright Markus Schoepflin 2002 - 2003.
// (C) Copyright Beman Dawes 2002 - 2003. // (C) Copyright Beman Dawes 2002 - 2003.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
@ -53,7 +53,7 @@
#endif #endif
// Some versions of the compiler have issues with default arguments on partial specializations // Some versions of the compiler have issues with default arguments on partial specializations
#define BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS #define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS

View File

@ -83,6 +83,11 @@
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP # define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#endif #endif
#if _MSC_VER == 1500 // 1500 == VC++ 9.0
// A bug in VC9:
# define BOOST_NO_ADL_BARRIER
#endif
#ifndef _NATIVE_WCHAR_T_DEFINED #ifndef _NATIVE_WCHAR_T_DEFINED
# define BOOST_NO_INTRINSIC_WCHAR_T # define BOOST_NO_INTRINSIC_WCHAR_T
#endif #endif
@ -181,7 +186,7 @@
#error "Compiler not supported or configured - please reconfigure" #error "Compiler not supported or configured - please reconfigure"
#endif #endif
// //
// last known and checked version is 1400 (VC8): // last known and checked version is 1500 (VC9):
#if (_MSC_VER > 1500) #if (_MSC_VER > 1500)
# if defined(BOOST_ASSERT_CONFIG) # if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results" # error "Unknown compiler version - please run the configure tests and report the results"

View File

@ -23,6 +23,8 @@
#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE)) #if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))
# define BOOST_NO_SWPRINTF # define BOOST_NO_SWPRINTF
#endif
#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)
# define BOOST_NO_CWCTYPE # define BOOST_NO_CWCTYPE
#endif #endif
@ -82,3 +84,4 @@
#ifndef BOOST_HAS_EXPM1 #ifndef BOOST_HAS_EXPM1
# define BOOST_HAS_EXPM1 # define BOOST_HAS_EXPM1
#endif #endif

View File

@ -47,6 +47,14 @@
# define BOOST_NO_STDC_NAMESPACE # define BOOST_NO_STDC_NAMESPACE
# endif # endif
# if (__GNUC__ == 4)
// Both gcc and intel require these.
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# define BOOST_HAS_NANOSLEEP
# endif
#else #else
// Using the MSL C library. // Using the MSL C library.

View File

@ -16,6 +16,13 @@
#define BOOST_HAS_UNISTD_H #define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp> #include <boost/config/posix_features.hpp>
//
// pthreads don't actually work with gcc unless _PTHREADS is defined:
//
#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)
# undef BOOST_HAS_PTHREADS
#endif

View File

@ -98,8 +98,10 @@
// //
// We always have SGI style hash_set, hash_map, and slist: // We always have SGI style hash_set, hash_map, and slist:
// //
#ifndef _STLP_NO_EXTENSIONS
#define BOOST_HAS_HASH #define BOOST_HAS_HASH
#define BOOST_HAS_SLIST #define BOOST_HAS_SLIST
#endif
// //
// STLport does a good job of importing names into namespace std::, // STLport does a good job of importing names into namespace std::,

View File

@ -120,6 +120,15 @@
# define BOOST_NO_STD_ITERATOR_TRAITS # define BOOST_NO_STD_ITERATOR_TRAITS
# endif # endif
//
// Without partial specialization, partial
// specialization with default args won't work either:
//
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
&& !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
# define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
# endif
// //
// Without member template support, we can't have template constructors // Without member template support, we can't have template constructors
// in the standard library either: // in the standard library either:
@ -232,6 +241,8 @@
#ifndef BOOST_HAS_THREADS #ifndef BOOST_HAS_THREADS
# undef BOOST_HAS_PTHREADS # undef BOOST_HAS_PTHREADS
# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# undef BOOST_HAS_PTHREAD_YIELD
# undef BOOST_HAS_PTHREAD_DELAY_NP
# undef BOOST_HAS_WINTHREADS # undef BOOST_HAS_WINTHREADS
# undef BOOST_HAS_BETHREADS # undef BOOST_HAS_BETHREADS
# undef BOOST_HAS_MPTASKS # undef BOOST_HAS_MPTASKS

View File

@ -1,9 +1,5 @@
# #
# Regression test Jamfile for boost configuration setup. # Copyright John Maddock 2008.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Fri Oct 19 13:34:11 2007
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the # Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file # Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -11,349 +7,36 @@
# If you need to alter build preferences then set them in # If you need to alter build preferences then set them in
# the template defined in options_v2.jam. # the template defined in options_v2.jam.
# #
path-constant DOT : . ; test-suite config
include $(DOT)/options_v2.jam ; :
[ run config_test.cpp
run config_info.cpp ; : #args
run math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ; : #input-files
run config_test.cpp ; : #requirements
run limits_test.cpp ../../test/build//boost_test_exec_monitor ; <threading>multi
run abi/abi_test.cpp abi/main.cpp ; : config_test_threaded
]
test-suite "BOOST_HAS_TWO_ARG_USE_FACET" : [ run config_test.cpp
[ run has_2arg_use_facet_pass.cpp ] : #args
[ compile-fail has_2arg_use_facet_fail.cpp ] ; : #input-files
test-suite "BOOST_HAS_BETHREADS" : : #requirements
[ run has_bethreads_pass.cpp ] <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static
[ compile-fail has_bethreads_fail.cpp ] ; ]
test-suite "BOOST_HAS_CLOCK_GETTIME" : [ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
[ run has_clock_gettime_pass.cpp ] [ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi : config_info_threaded ]
[ compile-fail has_clock_gettime_fail.cpp ] ; [ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
test-suite "BOOST_HAS_CONCEPTS" : [ run abi/abi_test.cpp abi/main.cpp ]
[ run has_concepts_pass.cpp ] [ run limits_test.cpp ../../test/build//boost_test_exec_monitor ]
[ compile-fail has_concepts_fail.cpp ] ; [ run link/main.cpp link//link_test
test-suite "BOOST_HAS_DIRENT_H" : : #args
[ run has_dirent_h_pass.cpp ] : #input-files
[ compile-fail has_dirent_h_fail.cpp ] ; : #requirements
test-suite "BOOST_HAS_EXPM1" : <runtime-link>shared
[ run has_expm1_pass.cpp ] <define>BOOST_DYN_LINK=1
[ compile-fail has_expm1_fail.cpp ] ; <define>BOOST_CONFIG_NO_LIB=1
test-suite "BOOST_HAS_FTIME" : :
[ run has_ftime_pass.cpp ] config_link_test
[ compile-fail has_ftime_fail.cpp ] ; ]
test-suite "BOOST_HAS_GETTIMEOFDAY" : [ compile-fail threads/test_thread_fail1.cpp ]
[ run has_gettimeofday_pass.cpp ] [ compile-fail threads/test_thread_fail2.cpp ]
[ compile-fail has_gettimeofday_fail.cpp ] ; ;
test-suite "BOOST_HAS_HASH" :
[ run has_hash_pass.cpp ]
[ compile-fail has_hash_fail.cpp ] ;
test-suite "BOOST_HAS_LOG1P" :
[ run has_log1p_pass.cpp ]
[ compile-fail has_log1p_fail.cpp ] ;
test-suite "BOOST_HAS_LONG_LONG" :
[ run has_long_long_pass.cpp ]
[ compile-fail has_long_long_fail.cpp ] ;
test-suite "BOOST_HAS_MACRO_USE_FACET" :
[ run has_macro_use_facet_pass.cpp ]
[ compile-fail has_macro_use_facet_fail.cpp ] ;
test-suite "BOOST_HAS_MS_INT64" :
[ run has_ms_int64_pass.cpp ]
[ compile-fail has_ms_int64_fail.cpp ] ;
test-suite "BOOST_HAS_NANOSLEEP" :
[ run has_nanosleep_pass.cpp ]
[ compile-fail has_nanosleep_fail.cpp ] ;
test-suite "BOOST_HAS_NL_TYPES_H" :
[ run has_nl_types_h_pass.cpp ]
[ compile-fail has_nl_types_h_fail.cpp ] ;
test-suite "BOOST_HAS_NRVO" :
[ run has_nrvo_pass.cpp ]
[ compile-fail has_nrvo_fail.cpp ] ;
test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" :
[ run has_part_alloc_pass.cpp ]
[ compile-fail has_part_alloc_fail.cpp ] ;
test-suite "BOOST_HAS_PTHREADS" :
[ run has_pthreads_pass.cpp ]
[ compile-fail has_pthreads_fail.cpp ] ;
test-suite "BOOST_HAS_PTHREAD_DELAY_NP" :
[ run has_pthread_delay_np_pass.cpp ]
[ compile-fail has_pthread_delay_np_fail.cpp ] ;
test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" :
[ run has_pthread_ma_st_pass.cpp ]
[ compile-fail has_pthread_ma_st_fail.cpp ] ;
test-suite "BOOST_HAS_PTHREAD_YIELD" :
[ run has_pthread_yield_pass.cpp ]
[ compile-fail has_pthread_yield_fail.cpp ] ;
test-suite "BOOST_HAS_RVALUE_REFS" :
[ run has_rvalue_refs_pass.cpp ]
[ compile-fail has_rvalue_refs_fail.cpp ] ;
test-suite "BOOST_HAS_SCHED_YIELD" :
[ run has_sched_yield_pass.cpp ]
[ compile-fail has_sched_yield_fail.cpp ] ;
test-suite "BOOST_HAS_SGI_TYPE_TRAITS" :
[ run has_sgi_type_traits_pass.cpp ]
[ compile-fail has_sgi_type_traits_fail.cpp ] ;
test-suite "BOOST_HAS_SIGACTION" :
[ run has_sigaction_pass.cpp ]
[ compile-fail has_sigaction_fail.cpp ] ;
test-suite "BOOST_HAS_SLIST" :
[ run has_slist_pass.cpp ]
[ compile-fail has_slist_fail.cpp ] ;
test-suite "BOOST_HAS_STATIC_ASSERT" :
[ run has_static_assert_pass.cpp ]
[ compile-fail has_static_assert_fail.cpp ] ;
test-suite "BOOST_HAS_STDINT_H" :
[ run has_stdint_h_pass.cpp ]
[ compile-fail has_stdint_h_fail.cpp ] ;
test-suite "BOOST_HAS_STLP_USE_FACET" :
[ run has_stlp_use_facet_pass.cpp ]
[ compile-fail has_stlp_use_facet_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_ARRAY" :
[ run has_tr1_array_pass.cpp ]
[ compile-fail has_tr1_array_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_BIND" :
[ run has_tr1_bind_pass.cpp ]
[ compile-fail has_tr1_bind_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_COMPLEX_OVERLOADS" :
[ run has_tr1_complex_over_pass.cpp ]
[ compile-fail has_tr1_complex_over_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG" :
[ run has_tr1_complex_trig_pass.cpp ]
[ compile-fail has_tr1_complex_trig_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_FUNCTION" :
[ run has_tr1_function_pass.cpp ]
[ compile-fail has_tr1_function_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_HASH" :
[ run has_tr1_hash_pass.cpp ]
[ compile-fail has_tr1_hash_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_MEM_FN" :
[ run has_tr1_mem_fn_pass.cpp ]
[ compile-fail has_tr1_mem_fn_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_RANDOM" :
[ run has_tr1_random_pass.cpp ]
[ compile-fail has_tr1_random_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_REFERENCE_WRAPPER" :
[ run has_tr1_ref_wrap_pass.cpp ]
[ compile-fail has_tr1_ref_wrap_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_REGEX" :
[ run has_tr1_regex_pass.cpp ]
[ compile-fail has_tr1_regex_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_RESULT_OF" :
[ run has_tr1_result_of_pass.cpp ]
[ compile-fail has_tr1_result_of_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_SHARED_PTR" :
[ run has_tr1_shared_ptr_pass.cpp ]
[ compile-fail has_tr1_shared_ptr_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_TUPLE" :
[ run has_tr1_tuple_pass.cpp ]
[ compile-fail has_tr1_tuple_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_TYPE_TRAITS" :
[ run has_tr1_type_traits_pass.cpp ]
[ compile-fail has_tr1_type_traits_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_UNORDERED_MAP" :
[ run has_tr1_unordered_map_pass.cpp ]
[ compile-fail has_tr1_unordered_map_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_UNORDERED_SET" :
[ run has_tr1_unordered_set_pass.cpp ]
[ compile-fail has_tr1_unordered_set_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_UTILITY" :
[ run has_tr1_utility_pass.cpp ]
[ compile-fail has_tr1_utility_fail.cpp ] ;
test-suite "BOOST_HAS_UNISTD_H" :
[ run has_unistd_h_pass.cpp ]
[ compile-fail has_unistd_h_fail.cpp ] ;
test-suite "BOOST_HAS_VARIADIC_TMPL" :
[ run has_variadic_tmpl_pass.cpp ]
[ compile-fail has_variadic_tmpl_fail.cpp ] ;
test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" :
[ run has_vc6_mem_templ_pass.cpp ]
[ compile-fail has_vc6_mem_templ_fail.cpp ] ;
test-suite "BOOST_MSVC_STD_ITERATOR" :
[ run has_vc_iterator_pass.cpp ]
[ compile-fail has_vc_iterator_fail.cpp ] ;
test-suite "BOOST_HAS_WINTHREADS" :
[ run has_winthreads_pass.cpp ]
[ compile-fail has_winthreads_fail.cpp ] ;
test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" :
[ run no_arg_dep_lookup_pass.cpp ]
[ compile-fail no_arg_dep_lookup_fail.cpp ] ;
test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
[ run no_array_type_spec_pass.cpp ]
[ compile-fail no_array_type_spec_fail.cpp ] ;
test-suite "BOOST_NO_AUTO_PTR" :
[ run no_auto_ptr_pass.cpp ]
[ compile-fail no_auto_ptr_fail.cpp ] ;
test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" :
[ run no_bcb_partial_spec_pass.cpp ]
[ compile-fail no_bcb_partial_spec_fail.cpp ] ;
test-suite "BOOST_NO_CTYPE_FUNCTIONS" :
[ run no_ctype_functions_pass.cpp ]
[ compile-fail no_ctype_functions_fail.cpp ] ;
test-suite "BOOST_NO_CV_SPECIALIZATIONS" :
[ run no_cv_spec_pass.cpp ]
[ compile-fail no_cv_spec_fail.cpp ] ;
test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" :
[ run no_cv_void_spec_pass.cpp ]
[ compile-fail no_cv_void_spec_fail.cpp ] ;
test-suite "BOOST_NO_CWCHAR" :
[ run no_cwchar_pass.cpp ]
[ compile-fail no_cwchar_fail.cpp ] ;
test-suite "BOOST_NO_CWCTYPE" :
[ run no_cwctype_pass.cpp ]
[ compile-fail no_cwctype_fail.cpp ] ;
test-suite "BOOST_DEDUCED_TYPENAME" :
[ run no_ded_typename_pass.cpp ]
[ compile-fail no_ded_typename_fail.cpp ] ;
test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" :
[ run no_dep_nested_class_pass.cpp ]
[ compile-fail no_dep_nested_class_fail.cpp ] ;
test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" :
[ run no_dep_val_param_pass.cpp ]
[ compile-fail no_dep_val_param_fail.cpp ] ;
test-suite "BOOST_NO_EXCEPTIONS" :
[ run no_exceptions_pass.cpp ]
[ compile-fail no_exceptions_fail.cpp ] ;
test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" :
[ run no_excep_std_pass.cpp ]
[ compile-fail no_excep_std_fail.cpp ] ;
test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
[ run no_exp_func_tem_arg_pass.cpp ]
[ compile-fail no_exp_func_tem_arg_fail.cpp ] ;
test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" :
[ run no_function_type_spec_pass.cpp ]
[ compile-fail no_function_type_spec_fail.cpp ] ;
test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" :
[ run no_func_tmp_order_pass.cpp ]
[ compile-fail no_func_tmp_order_fail.cpp ] ;
test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" :
[ run no_i64_limits_pass.cpp ]
[ compile-fail no_i64_limits_fail.cpp ] ;
test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" :
[ run no_inline_memb_init_pass.cpp ]
[ compile-fail no_inline_memb_init_fail.cpp ] ;
test-suite "BOOST_NO_INTEGRAL_INT64_T" :
[ run no_integral_int64_t_pass.cpp ]
[ compile-fail no_integral_int64_t_fail.cpp ] ;
test-suite "BOOST_NO_IOSFWD" :
[ run no_iosfwd_pass.cpp ]
[ compile-fail no_iosfwd_fail.cpp ] ;
test-suite "BOOST_NO_IOSTREAM" :
[ run no_iostream_pass.cpp ]
[ compile-fail no_iostream_fail.cpp ] ;
test-suite "BOOST_NO_IS_ABSTRACT" :
[ run no_is_abstract_pass.cpp ]
[ compile-fail no_is_abstract_fail.cpp ] ;
test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" :
[ run no_iter_construct_pass.cpp ]
[ compile-fail no_iter_construct_fail.cpp ] ;
test-suite "BOOST_NO_LIMITS" :
[ run no_limits_pass.cpp ]
[ compile-fail no_limits_fail.cpp ] ;
test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" :
[ run no_limits_const_exp_pass.cpp ]
[ compile-fail no_limits_const_exp_fail.cpp ] ;
test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" :
[ run no_ll_limits_pass.cpp ]
[ compile-fail no_ll_limits_fail.cpp ] ;
test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" :
[ run no_mem_func_spec_pass.cpp ]
[ compile-fail no_mem_func_spec_fail.cpp ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATES" :
[ run no_mem_templates_pass.cpp ]
[ compile-fail no_mem_templates_fail.cpp ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" :
[ run no_mem_templ_frnds_pass.cpp ]
[ compile-fail no_mem_templ_frnds_fail.cpp ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" :
[ run no_mem_tem_keyword_pass.cpp ]
[ compile-fail no_mem_tem_keyword_fail.cpp ] ;
test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" :
[ run no_mem_tem_pnts_pass.cpp ]
[ compile-fail no_mem_tem_pnts_fail.cpp ] ;
test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" :
[ run no_ops_in_namespace_pass.cpp ]
[ compile-fail no_ops_in_namespace_fail.cpp ] ;
test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" :
[ run no_partial_spec_pass.cpp ]
[ compile-fail no_partial_spec_fail.cpp ] ;
test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" :
[ run no_priv_aggregate_pass.cpp ]
[ compile-fail no_priv_aggregate_fail.cpp ] ;
test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" :
[ run no_ptr_mem_const_pass.cpp ]
[ compile-fail no_ptr_mem_const_fail.cpp ] ;
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
[ run no_ret_det_pass.cpp ]
[ compile-fail no_ret_det_fail.cpp ] ;
test-suite "BOOST_NO_SFINAE" :
[ run no_sfinae_pass.cpp ]
[ compile-fail no_sfinae_fail.cpp ] ;
test-suite "BOOST_NO_STRINGSTREAM" :
[ run no_sstream_pass.cpp ]
[ compile-fail no_sstream_fail.cpp ] ;
test-suite "BOOST_NO_STDC_NAMESPACE" :
[ run no_stdc_namespace_pass.cpp ]
[ compile-fail no_stdc_namespace_fail.cpp ] ;
test-suite "BOOST_NO_STD_ALLOCATOR" :
[ run no_std_allocator_pass.cpp ]
[ compile-fail no_std_allocator_fail.cpp ] ;
test-suite "BOOST_NO_STD_DISTANCE" :
[ run no_std_distance_pass.cpp ]
[ compile-fail no_std_distance_fail.cpp ] ;
test-suite "BOOST_NO_STD_ITERATOR" :
[ run no_std_iterator_pass.cpp ]
[ compile-fail no_std_iterator_fail.cpp ] ;
test-suite "BOOST_NO_STD_ITERATOR_TRAITS" :
[ run no_std_iter_traits_pass.cpp ]
[ compile-fail no_std_iter_traits_fail.cpp ] ;
test-suite "BOOST_NO_STD_LOCALE" :
[ run no_std_locale_pass.cpp ]
[ compile-fail no_std_locale_fail.cpp ] ;
test-suite "BOOST_NO_STD_MESSAGES" :
[ run no_std_messages_pass.cpp ]
[ compile-fail no_std_messages_fail.cpp ] ;
test-suite "BOOST_NO_STD_MIN_MAX" :
[ run no_std_min_max_pass.cpp ]
[ compile-fail no_std_min_max_fail.cpp ] ;
test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" :
[ run no_std_oi_assign_pass.cpp ]
[ compile-fail no_std_oi_assign_fail.cpp ] ;
test-suite "BOOST_NO_STD_TYPEINFO" :
[ run no_std_typeinfo_pass.cpp ]
[ compile-fail no_std_typeinfo_fail.cpp ] ;
test-suite "BOOST_NO_STD_USE_FACET" :
[ run no_std_use_facet_pass.cpp ]
[ compile-fail no_std_use_facet_fail.cpp ] ;
test-suite "BOOST_NO_STD_WSTREAMBUF" :
[ run no_std_wstreambuf_pass.cpp ]
[ compile-fail no_std_wstreambuf_fail.cpp ] ;
test-suite "BOOST_NO_STD_WSTRING" :
[ run no_std_wstring_pass.cpp ]
[ compile-fail no_std_wstring_fail.cpp ] ;
test-suite "BOOST_NO_SWPRINTF" :
[ run no_swprintf_pass.cpp ]
[ compile-fail no_swprintf_fail.cpp ] ;
test-suite "BOOST_NO_TEMPLATE_TEMPLATES" :
[ run no_template_template_pass.cpp ]
[ compile-fail no_template_template_fail.cpp ] ;
test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" :
[ run no_two_phase_lookup_pass.cpp ]
[ compile-fail no_two_phase_lookup_fail.cpp ] ;
test-suite "BOOST_NO_TYPEID" :
[ run no_typeid_pass.cpp ]
[ compile-fail no_typeid_fail.cpp ] ;
test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" :
[ run no_using_breaks_adl_pass.cpp ]
[ compile-fail no_using_breaks_adl_fail.cpp ] ;
test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" :
[ run no_using_decl_overld_pass.cpp ]
[ compile-fail no_using_decl_overld_fail.cpp ] ;
test-suite "BOOST_NO_USING_TEMPLATE" :
[ run no_using_template_pass.cpp ]
[ compile-fail no_using_template_fail.cpp ] ;
test-suite "BOOST_NO_VOID_RETURNS" :
[ run no_void_returns_pass.cpp ]
[ compile-fail no_void_returns_fail.cpp ] ;
test-suite "BOOST_NO_INTRINSIC_WCHAR_T" :
[ run no_wchar_t_pass.cpp ]
[ compile-fail no_wchar_t_fail.cpp ] ;

370
test/all/Jamfile.v2 Normal file
View File

@ -0,0 +1,370 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Sat Jul 12 12:39:35 2008
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# 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)
#
# If you need to alter build preferences then set them in
# the template defined in options_v2.jam.
#
path-constant DOT : . ;
include $(DOT)/options_v2.jam ;
run ../config_info.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;
run ../config_info.cpp : : : <threading>multi : config_info_threaded ;
run ../math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;
run ../config_test.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;
run ../config_test.cpp : : : <threading>multi : config_test_threaded ;
run ../limits_test.cpp ../../../test/build//boost_test_exec_monitor ;
run ../abi/abi_test.cpp ../abi/main.cpp ;
test-suite "BOOST_HAS_TWO_ARG_USE_FACET" :
[ run ../has_2arg_use_facet_pass.cpp ]
[ compile-fail ../has_2arg_use_facet_fail.cpp ] ;
test-suite "BOOST_HAS_BETHREADS" :
[ run ../has_bethreads_pass.cpp ]
[ compile-fail ../has_bethreads_fail.cpp ] ;
test-suite "BOOST_HAS_CLOCK_GETTIME" :
[ run ../has_clock_gettime_pass.cpp ]
[ compile-fail ../has_clock_gettime_fail.cpp ] ;
test-suite "BOOST_HAS_CONCEPTS" :
[ run ../has_concepts_pass.cpp ]
[ compile-fail ../has_concepts_fail.cpp ] ;
test-suite "BOOST_HAS_DIRENT_H" :
[ run ../has_dirent_h_pass.cpp ]
[ compile-fail ../has_dirent_h_fail.cpp ] ;
test-suite "BOOST_HAS_EXPM1" :
[ run ../has_expm1_pass.cpp ]
[ compile-fail ../has_expm1_fail.cpp ] ;
test-suite "BOOST_HAS_FTIME" :
[ run ../has_ftime_pass.cpp ]
[ compile-fail ../has_ftime_fail.cpp ] ;
test-suite "BOOST_HAS_GETTIMEOFDAY" :
[ run ../has_gettimeofday_pass.cpp ]
[ compile-fail ../has_gettimeofday_fail.cpp ] ;
test-suite "BOOST_HAS_HASH" :
[ run ../has_hash_pass.cpp ]
[ compile-fail ../has_hash_fail.cpp ] ;
test-suite "BOOST_HAS_LOG1P" :
[ run ../has_log1p_pass.cpp ]
[ compile-fail ../has_log1p_fail.cpp ] ;
test-suite "BOOST_HAS_LONG_LONG" :
[ run ../has_long_long_pass.cpp ]
[ compile-fail ../has_long_long_fail.cpp ] ;
test-suite "BOOST_HAS_MACRO_USE_FACET" :
[ run ../has_macro_use_facet_pass.cpp ]
[ compile-fail ../has_macro_use_facet_fail.cpp ] ;
test-suite "BOOST_HAS_MS_INT64" :
[ run ../has_ms_int64_pass.cpp ]
[ compile-fail ../has_ms_int64_fail.cpp ] ;
test-suite "BOOST_HAS_NANOSLEEP" :
[ run ../has_nanosleep_pass.cpp ]
[ compile-fail ../has_nanosleep_fail.cpp ] ;
test-suite "BOOST_HAS_NL_TYPES_H" :
[ run ../has_nl_types_h_pass.cpp ]
[ compile-fail ../has_nl_types_h_fail.cpp ] ;
test-suite "BOOST_HAS_NRVO" :
[ run ../has_nrvo_pass.cpp ]
[ compile-fail ../has_nrvo_fail.cpp ] ;
test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" :
[ run ../has_part_alloc_pass.cpp ]
[ compile-fail ../has_part_alloc_fail.cpp ] ;
test-suite "BOOST_HAS_PTHREADS" :
[ run ../has_pthreads_pass.cpp ]
[ compile-fail ../has_pthreads_fail.cpp ] ;
test-suite "BOOST_HAS_PTHREAD_DELAY_NP" :
[ run ../has_pthread_delay_np_pass.cpp ]
[ compile-fail ../has_pthread_delay_np_fail.cpp ] ;
test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" :
[ run ../has_pthread_ma_st_pass.cpp ]
[ compile-fail ../has_pthread_ma_st_fail.cpp ] ;
test-suite "BOOST_HAS_PTHREAD_YIELD" :
[ run ../has_pthread_yield_pass.cpp ]
[ compile-fail ../has_pthread_yield_fail.cpp ] ;
test-suite "BOOST_HAS_RVALUE_REFS" :
[ run ../has_rvalue_refs_pass.cpp ]
[ compile-fail ../has_rvalue_refs_fail.cpp ] ;
test-suite "BOOST_HAS_SCHED_YIELD" :
[ run ../has_sched_yield_pass.cpp ]
[ compile-fail ../has_sched_yield_fail.cpp ] ;
test-suite "BOOST_HAS_SGI_TYPE_TRAITS" :
[ run ../has_sgi_type_traits_pass.cpp ]
[ compile-fail ../has_sgi_type_traits_fail.cpp ] ;
test-suite "BOOST_HAS_SIGACTION" :
[ run ../has_sigaction_pass.cpp ]
[ compile-fail ../has_sigaction_fail.cpp ] ;
test-suite "BOOST_HAS_SLIST" :
[ run ../has_slist_pass.cpp ]
[ compile-fail ../has_slist_fail.cpp ] ;
test-suite "BOOST_HAS_STATIC_ASSERT" :
[ run ../has_static_assert_pass.cpp ]
[ compile-fail ../has_static_assert_fail.cpp ] ;
test-suite "BOOST_HAS_STDINT_H" :
[ run ../has_stdint_h_pass.cpp ]
[ compile-fail ../has_stdint_h_fail.cpp ] ;
test-suite "BOOST_HAS_STLP_USE_FACET" :
[ run ../has_stlp_use_facet_pass.cpp ]
[ compile-fail ../has_stlp_use_facet_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_ARRAY" :
[ run ../has_tr1_array_pass.cpp ]
[ compile-fail ../has_tr1_array_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_BIND" :
[ run ../has_tr1_bind_pass.cpp ]
[ compile-fail ../has_tr1_bind_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_COMPLEX_OVERLOADS" :
[ run ../has_tr1_complex_over_pass.cpp ]
[ compile-fail ../has_tr1_complex_over_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG" :
[ run ../has_tr1_complex_trig_pass.cpp ]
[ compile-fail ../has_tr1_complex_trig_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_FUNCTION" :
[ run ../has_tr1_function_pass.cpp ]
[ compile-fail ../has_tr1_function_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_HASH" :
[ run ../has_tr1_hash_pass.cpp ]
[ compile-fail ../has_tr1_hash_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_MEM_FN" :
[ run ../has_tr1_mem_fn_pass.cpp ]
[ compile-fail ../has_tr1_mem_fn_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_RANDOM" :
[ run ../has_tr1_random_pass.cpp ]
[ compile-fail ../has_tr1_random_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_REFERENCE_WRAPPER" :
[ run ../has_tr1_ref_wrap_pass.cpp ]
[ compile-fail ../has_tr1_ref_wrap_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_REGEX" :
[ run ../has_tr1_regex_pass.cpp ]
[ compile-fail ../has_tr1_regex_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_RESULT_OF" :
[ run ../has_tr1_result_of_pass.cpp ]
[ compile-fail ../has_tr1_result_of_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_SHARED_PTR" :
[ run ../has_tr1_shared_ptr_pass.cpp ]
[ compile-fail ../has_tr1_shared_ptr_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_TUPLE" :
[ run ../has_tr1_tuple_pass.cpp ]
[ compile-fail ../has_tr1_tuple_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_TYPE_TRAITS" :
[ run ../has_tr1_type_traits_pass.cpp ]
[ compile-fail ../has_tr1_type_traits_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_UNORDERED_MAP" :
[ run ../has_tr1_unordered_map_pass.cpp ]
[ compile-fail ../has_tr1_unordered_map_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_UNORDERED_SET" :
[ run ../has_tr1_unordered_set_pass.cpp ]
[ compile-fail ../has_tr1_unordered_set_fail.cpp ] ;
test-suite "BOOST_HAS_TR1_UTILITY" :
[ run ../has_tr1_utility_pass.cpp ]
[ compile-fail ../has_tr1_utility_fail.cpp ] ;
test-suite "BOOST_HAS_UNISTD_H" :
[ run ../has_unistd_h_pass.cpp ]
[ compile-fail ../has_unistd_h_fail.cpp ] ;
test-suite "BOOST_HAS_VARIADIC_TMPL" :
[ run ../has_variadic_tmpl_pass.cpp ]
[ compile-fail ../has_variadic_tmpl_fail.cpp ] ;
test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" :
[ run ../has_vc6_mem_templ_pass.cpp ]
[ compile-fail ../has_vc6_mem_templ_fail.cpp ] ;
test-suite "BOOST_MSVC_STD_ITERATOR" :
[ run ../has_vc_iterator_pass.cpp ]
[ compile-fail ../has_vc_iterator_fail.cpp ] ;
test-suite "BOOST_HAS_WINTHREADS" :
[ run ../has_winthreads_pass.cpp ]
[ compile-fail ../has_winthreads_fail.cpp ] ;
test-suite "BOOST_NO_ADL_BARRIER" :
[ run ../no_adl_barrier_pass.cpp ]
[ compile-fail ../no_adl_barrier_fail.cpp ] ;
test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" :
[ run ../no_arg_dep_lookup_pass.cpp ]
[ compile-fail ../no_arg_dep_lookup_fail.cpp ] ;
test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
[ run ../no_array_type_spec_pass.cpp ]
[ compile-fail ../no_array_type_spec_fail.cpp ] ;
test-suite "BOOST_NO_AUTO_PTR" :
[ run ../no_auto_ptr_pass.cpp ]
[ compile-fail ../no_auto_ptr_fail.cpp ] ;
test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" :
[ run ../no_bcb_partial_spec_pass.cpp ]
[ compile-fail ../no_bcb_partial_spec_fail.cpp ] ;
test-suite "BOOST_NO_CTYPE_FUNCTIONS" :
[ run ../no_ctype_functions_pass.cpp ]
[ compile-fail ../no_ctype_functions_fail.cpp ] ;
test-suite "BOOST_NO_CV_SPECIALIZATIONS" :
[ run ../no_cv_spec_pass.cpp ]
[ compile-fail ../no_cv_spec_fail.cpp ] ;
test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" :
[ run ../no_cv_void_spec_pass.cpp ]
[ compile-fail ../no_cv_void_spec_fail.cpp ] ;
test-suite "BOOST_NO_CWCHAR" :
[ run ../no_cwchar_pass.cpp ]
[ compile-fail ../no_cwchar_fail.cpp ] ;
test-suite "BOOST_NO_CWCTYPE" :
[ run ../no_cwctype_pass.cpp ]
[ compile-fail ../no_cwctype_fail.cpp ] ;
test-suite "BOOST_DEDUCED_TYPENAME" :
[ run ../no_ded_typename_pass.cpp ]
[ compile-fail ../no_ded_typename_fail.cpp ] ;
test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" :
[ run ../no_dep_nested_class_pass.cpp ]
[ compile-fail ../no_dep_nested_class_fail.cpp ] ;
test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" :
[ run ../no_dep_val_param_pass.cpp ]
[ compile-fail ../no_dep_val_param_fail.cpp ] ;
test-suite "BOOST_NO_EXCEPTIONS" :
[ run ../no_exceptions_pass.cpp ]
[ compile-fail ../no_exceptions_fail.cpp ] ;
test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" :
[ run ../no_excep_std_pass.cpp ]
[ compile-fail ../no_excep_std_fail.cpp ] ;
test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
[ run ../no_exp_func_tem_arg_pass.cpp ]
[ compile-fail ../no_exp_func_tem_arg_fail.cpp ] ;
test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" :
[ run ../no_function_type_spec_pass.cpp ]
[ compile-fail ../no_function_type_spec_fail.cpp ] ;
test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" :
[ run ../no_func_tmp_order_pass.cpp ]
[ compile-fail ../no_func_tmp_order_fail.cpp ] ;
test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" :
[ run ../no_i64_limits_pass.cpp ]
[ compile-fail ../no_i64_limits_fail.cpp ] ;
test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" :
[ run ../no_inline_memb_init_pass.cpp ]
[ compile-fail ../no_inline_memb_init_fail.cpp ] ;
test-suite "BOOST_NO_INTEGRAL_INT64_T" :
[ run ../no_integral_int64_t_pass.cpp ]
[ compile-fail ../no_integral_int64_t_fail.cpp ] ;
test-suite "BOOST_NO_IOSFWD" :
[ run ../no_iosfwd_pass.cpp ]
[ compile-fail ../no_iosfwd_fail.cpp ] ;
test-suite "BOOST_NO_IOSTREAM" :
[ run ../no_iostream_pass.cpp ]
[ compile-fail ../no_iostream_fail.cpp ] ;
test-suite "BOOST_NO_IS_ABSTRACT" :
[ run ../no_is_abstract_pass.cpp ]
[ compile-fail ../no_is_abstract_fail.cpp ] ;
test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" :
[ run ../no_iter_construct_pass.cpp ]
[ compile-fail ../no_iter_construct_fail.cpp ] ;
test-suite "BOOST_NO_LIMITS" :
[ run ../no_limits_pass.cpp ]
[ compile-fail ../no_limits_fail.cpp ] ;
test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" :
[ run ../no_limits_const_exp_pass.cpp ]
[ compile-fail ../no_limits_const_exp_fail.cpp ] ;
test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" :
[ run ../no_ll_limits_pass.cpp ]
[ compile-fail ../no_ll_limits_fail.cpp ] ;
test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" :
[ run ../no_mem_func_spec_pass.cpp ]
[ compile-fail ../no_mem_func_spec_fail.cpp ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATES" :
[ run ../no_mem_templates_pass.cpp ]
[ compile-fail ../no_mem_templates_fail.cpp ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" :
[ run ../no_mem_templ_frnds_pass.cpp ]
[ compile-fail ../no_mem_templ_frnds_fail.cpp ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" :
[ run ../no_mem_tem_keyword_pass.cpp ]
[ compile-fail ../no_mem_tem_keyword_fail.cpp ] ;
test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" :
[ run ../no_mem_tem_pnts_pass.cpp ]
[ compile-fail ../no_mem_tem_pnts_fail.cpp ] ;
test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" :
[ run ../no_ops_in_namespace_pass.cpp ]
[ compile-fail ../no_ops_in_namespace_fail.cpp ] ;
test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" :
[ run ../no_partial_spec_pass.cpp ]
[ compile-fail ../no_partial_spec_fail.cpp ] ;
test-suite "BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS" :
[ run ../no_part_spec_def_args_pass.cpp ]
[ compile-fail ../no_part_spec_def_args_fail.cpp ] ;
test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" :
[ run ../no_priv_aggregate_pass.cpp ]
[ compile-fail ../no_priv_aggregate_fail.cpp ] ;
test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" :
[ run ../no_ptr_mem_const_pass.cpp ]
[ compile-fail ../no_ptr_mem_const_fail.cpp ] ;
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
[ run ../no_ret_det_pass.cpp ]
[ compile-fail ../no_ret_det_fail.cpp ] ;
test-suite "BOOST_NO_SFINAE" :
[ run ../no_sfinae_pass.cpp ]
[ compile-fail ../no_sfinae_fail.cpp ] ;
test-suite "BOOST_NO_STRINGSTREAM" :
[ run ../no_sstream_pass.cpp ]
[ compile-fail ../no_sstream_fail.cpp ] ;
test-suite "BOOST_NO_STDC_NAMESPACE" :
[ run ../no_stdc_namespace_pass.cpp ]
[ compile-fail ../no_stdc_namespace_fail.cpp ] ;
test-suite "BOOST_NO_STD_ALLOCATOR" :
[ run ../no_std_allocator_pass.cpp ]
[ compile-fail ../no_std_allocator_fail.cpp ] ;
test-suite "BOOST_NO_STD_DISTANCE" :
[ run ../no_std_distance_pass.cpp ]
[ compile-fail ../no_std_distance_fail.cpp ] ;
test-suite "BOOST_NO_STD_ITERATOR" :
[ run ../no_std_iterator_pass.cpp ]
[ compile-fail ../no_std_iterator_fail.cpp ] ;
test-suite "BOOST_NO_STD_ITERATOR_TRAITS" :
[ run ../no_std_iter_traits_pass.cpp ]
[ compile-fail ../no_std_iter_traits_fail.cpp ] ;
test-suite "BOOST_NO_STD_LOCALE" :
[ run ../no_std_locale_pass.cpp ]
[ compile-fail ../no_std_locale_fail.cpp ] ;
test-suite "BOOST_NO_STD_MESSAGES" :
[ run ../no_std_messages_pass.cpp ]
[ compile-fail ../no_std_messages_fail.cpp ] ;
test-suite "BOOST_NO_STD_MIN_MAX" :
[ run ../no_std_min_max_pass.cpp ]
[ compile-fail ../no_std_min_max_fail.cpp ] ;
test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" :
[ run ../no_std_oi_assign_pass.cpp ]
[ compile-fail ../no_std_oi_assign_fail.cpp ] ;
test-suite "BOOST_NO_STD_TYPEINFO" :
[ run ../no_std_typeinfo_pass.cpp ]
[ compile-fail ../no_std_typeinfo_fail.cpp ] ;
test-suite "BOOST_NO_STD_USE_FACET" :
[ run ../no_std_use_facet_pass.cpp ]
[ compile-fail ../no_std_use_facet_fail.cpp ] ;
test-suite "BOOST_NO_STD_WSTREAMBUF" :
[ run ../no_std_wstreambuf_pass.cpp ]
[ compile-fail ../no_std_wstreambuf_fail.cpp ] ;
test-suite "BOOST_NO_STD_WSTRING" :
[ run ../no_std_wstring_pass.cpp ]
[ compile-fail ../no_std_wstring_fail.cpp ] ;
test-suite "BOOST_NO_SWPRINTF" :
[ run ../no_swprintf_pass.cpp ]
[ compile-fail ../no_swprintf_fail.cpp ] ;
test-suite "BOOST_NO_TEMPLATED_IOSTREAMS" :
[ run ../no_template_streams_pass.cpp ]
[ compile-fail ../no_template_streams_fail.cpp ] ;
test-suite "BOOST_NO_TEMPLATE_TEMPLATES" :
[ run ../no_template_template_pass.cpp ]
[ compile-fail ../no_template_template_fail.cpp ] ;
test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" :
[ run ../no_two_phase_lookup_pass.cpp ]
[ compile-fail ../no_two_phase_lookup_fail.cpp ] ;
test-suite "BOOST_NO_TYPEID" :
[ run ../no_typeid_pass.cpp ]
[ compile-fail ../no_typeid_fail.cpp ] ;
test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" :
[ run ../no_using_breaks_adl_pass.cpp ]
[ compile-fail ../no_using_breaks_adl_fail.cpp ] ;
test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" :
[ run ../no_using_decl_overld_pass.cpp ]
[ compile-fail ../no_using_decl_overld_fail.cpp ] ;
test-suite "BOOST_NO_USING_TEMPLATE" :
[ run ../no_using_template_pass.cpp ]
[ compile-fail ../no_using_template_fail.cpp ] ;
test-suite "BOOST_NO_VOID_RETURNS" :
[ run ../no_void_returns_pass.cpp ]
[ compile-fail ../no_void_returns_fail.cpp ] ;
test-suite "BOOST_NO_INTRINSIC_WCHAR_T" :
[ run ../no_wchar_t_pass.cpp ]
[ compile-fail ../no_wchar_t_fail.cpp ] ;

View File

@ -14,17 +14,46 @@
namespace boost_has_pthreads{ namespace boost_has_pthreads{
extern "C" void* thread_proc(void* arg)
{
return arg;
}
int test() int test()
{ {
pthread_mutex_t mut; pthread_mutex_t mut;
int result = pthread_mutex_init(&mut, 0); int result = pthread_mutex_init(&mut, 0);
if(0 == result) if(0 == result)
{ {
pthread_mutex_lock(&mut); //
pthread_mutex_unlock(&mut); // Failure to be able to create and use a mutex
pthread_mutex_destroy(&mut); // is always a failure, even if the pthread
// library is just a non-functioning stub.
//
result |= pthread_mutex_lock(&mut);
result |= pthread_mutex_unlock(&mut);
result |= pthread_mutex_trylock(&mut);
result |= pthread_mutex_unlock(&mut);
result |= pthread_mutex_destroy(&mut);
//
// Try and create a thread, this is allowed
// to fail, in case we are linking to a pthread
// "stub" library.
//
pthread_t t;
int r = pthread_create(&t, 0, &thread_proc, 0);
// result |= r;
if(r == 0)
{
//
// If we can create a thread, then we must be able to join to it:
//
void* arg;
r = pthread_join(t, &arg);
result |= r;
}
} }
return 0; return result;
} }
} }

View File

@ -11,7 +11,7 @@
#include <functional> #include <functional>
namespace boost_has_tr1_bind{ namespace boost_has_tr1_function{
using std::tr1::function; using std::tr1::function;

View File

@ -14,7 +14,7 @@
namespace boost_has_tr1_result_of{ namespace boost_has_tr1_result_of{
typedef std::tr1::result_of<int*(int)> r; typedef std::tr1::result_of<int*(int)> r;
typedef typename r::type rr; typedef r::type rr;
int test() int test()
{ {

View File

@ -0,0 +1,38 @@
// (C) Copyright John Maddock 2008.
// 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_ADL_BARRIER
// TITLE: Working ADL barriers.
// DESCRIPTION: If the compiler correctly handles ADL.
namespace boost_no_adl_barrier{
namespace xxx {
namespace nested {
struct aaa {};
}
void begin(nested::aaa) {}
}
namespace nnn {
void begin(xxx::nested::aaa) {}
}
int test()
{
using namespace nnn;
xxx::nested::aaa a;
begin(a); // ambiguous error in msvc-9.0
return 0;
}
}

View File

@ -1,4 +1,4 @@
// (C) Copyright Terje Sletteb<EFBFBD> 2002. // (C) Copyright Terje Slettebo 2002.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View File

@ -1,4 +1,4 @@
// Copyright (C) Joaqu<EFBFBD>n M L<EFBFBD>pez Mu<EFBFBD>oz 2004. // Copyright (C) Joaquin M Lopez Munoz 2004.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View File

@ -0,0 +1,46 @@
// (C) Copyright John Maddock 2008.
// 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_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
// TITLE: Default arguments in partial specialization
// DESCRIPTION: The compiler chokes if a partial specialization relies on default arguments in the primary template.
namespace boost_no_partial_specialization_implicit_default_args{
template <class T>
struct one
{
};
template <class T1, class T2 = void>
struct tag
{
};
template <class T1>
struct tag<one<T1> >
{
};
template <class T>
void consume_variable(T const&){}
int test()
{
tag<int> t1;
consume_variable(t1);
tag<one<int> > t2;
consume_variable(t2);
tag<int, double> t3;
consume_variable(t3);
tag<one<int>, double> t4;
consume_variable(t4);
return 0;
}
}

View File

@ -1,5 +1,5 @@
// (C) Copyright Eric Friedman 2003. // (C) Copyright Eric Friedman 2003.
// Some modifications by Jeremiah Willcock and Jaakko J<EFBFBD>rvi. // Some modifications by Jeremiah Willcock and Jaakko Jarvi.
// Use, modification, and distribution is subject to the Boost Software // Use, modification, and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt) // http://www.boost.org/LICENSE_1_0.txt)

View File

@ -0,0 +1,28 @@
// (C) Copyright John Maddock 2008.
// 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_TEMPLATED_IOSTREAMS
// TITLE: basic_iostream<>
// DESCRIPTION: The platform supports "new style" templated iostreams.
#include <iostream>
namespace boost_no_templated_iostreams{
int test()
{
std::basic_ostream<char, std::char_traits<char> >& osr = std::cout;
return 0;
}
}

View File

@ -952,6 +952,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_HAS_WINTHREADS); PRINT_MACRO(BOOST_HAS_WINTHREADS);
PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES); PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES);
PRINT_MACRO(BOOST_MSVC_STD_ITERATOR); PRINT_MACRO(BOOST_MSVC_STD_ITERATOR);
PRINT_MACRO(BOOST_NO_ADL_BARRIER);
PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP); PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS); PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_AUTO_PTR); PRINT_MACRO(BOOST_NO_AUTO_PTR);
@ -982,6 +983,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD); PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD);
PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS); PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE); PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE);
PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS);
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST); PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS); PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE); PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
@ -1001,6 +1003,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_STD_WSTRING); PRINT_MACRO(BOOST_NO_STD_WSTRING);
PRINT_MACRO(BOOST_NO_STRINGSTREAM); PRINT_MACRO(BOOST_NO_STRINGSTREAM);
PRINT_MACRO(BOOST_NO_SWPRINTF); PRINT_MACRO(BOOST_NO_SWPRINTF);
PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS);
PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS); PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS);
PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION); PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION);
PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES); PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES);
@ -1017,6 +1020,19 @@ void print_boost_macros()
// END GENERATED BLOCK // END GENERATED BLOCK

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 19 13:34:11 2007 // This file was automatically generated on Sat Jul 12 12:39:34 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
@ -22,6 +22,11 @@
int error_count = 0; int error_count = 0;
#ifndef BOOST_NO_ADL_BARRIER
#include "boost_no_adl_barrier.ipp"
#else
namespace boost_no_adl_barrier = empty_boost;
#endif
#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP #ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
#include "boost_no_arg_dep_lookup.ipp" #include "boost_no_arg_dep_lookup.ipp"
#else #else
@ -192,6 +197,11 @@ namespace boost_no_operators_in_namespace = empty_boost;
#else #else
namespace boost_no_template_partial_specialization = empty_boost; namespace boost_no_template_partial_specialization = empty_boost;
#endif #endif
#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
#include "boost_no_part_spec_def_args.ipp"
#else
namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
#endif
#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE #ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
#include "boost_no_priv_aggregate.ipp" #include "boost_no_priv_aggregate.ipp"
#else #else
@ -287,6 +297,11 @@ namespace boost_no_std_wstring = empty_boost;
#else #else
namespace boost_no_swprintf = empty_boost; namespace boost_no_swprintf = empty_boost;
#endif #endif
#ifndef BOOST_NO_TEMPLATED_IOSTREAMS
#include "boost_no_template_streams.ipp"
#else
namespace boost_no_templated_iostreams = empty_boost;
#endif
#ifndef BOOST_NO_TEMPLATE_TEMPLATES #ifndef BOOST_NO_TEMPLATE_TEMPLATES
#include "boost_no_template_template.ipp" #include "boost_no_template_template.ipp"
#else #else
@ -841,6 +856,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_HAS_WINTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_HAS_WINTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_adl_barrier::test())
{
std::cerr << "Failed test for BOOST_NO_ADL_BARRIER at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_argument_dependent_lookup::test()) if(0 != boost_no_argument_dependent_lookup::test())
{ {
std::cerr << "Failed test for BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
@ -1011,6 +1031,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_partial_specialization_implicit_default_args::test())
{
std::cerr << "Failed test for BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_private_in_aggregate::test()) if(0 != boost_no_private_in_aggregate::test())
{ {
std::cerr << "Failed test for BOOST_NO_PRIVATE_IN_AGGREGATE at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_PRIVATE_IN_AGGREGATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
@ -1106,6 +1131,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_SWPRINTF at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_SWPRINTF at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_templated_iostreams::test())
{
std::cerr << "Failed test for BOOST_NO_TEMPLATED_IOSTREAMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_template_templates::test()) if(0 != boost_no_template_templates::test())
{ {
std::cerr << "Failed test for BOOST_NO_TEMPLATE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_TEMPLATE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Feb 19 12:29:54 2005 // This file was automatically generated on Sat Jul 12 12:39:31 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_ARRAY // Test file for macro BOOST_HAS_TR1_ARRAY
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_ARRAY #ifndef BOOST_HAS_TR1_ARRAY

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Feb 19 12:29:54 2005 // This file was automatically generated on Sat Jul 12 12:39:31 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_ARRAY // Test file for macro BOOST_HAS_TR1_ARRAY
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_ARRAY #ifdef BOOST_HAS_TR1_ARRAY

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Mon Jan 24 16:31:49 2005 // This file was automatically generated on Sat Jul 12 12:39:31 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_BIND // Test file for macro BOOST_HAS_TR1_BIND
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_BIND #ifndef BOOST_HAS_TR1_BIND

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Mon Jan 24 16:31:49 2005 // This file was automatically generated on Sat Jul 12 12:39:31 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_BIND // Test file for macro BOOST_HAS_TR1_BIND
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_BIND #ifdef BOOST_HAS_TR1_BIND

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Apr 02 11:49:11 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_COMPLEX_OVERLOADS // Test file for macro BOOST_HAS_TR1_COMPLEX_OVERLOADS
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_COMPLEX_OVERLOADS #ifndef BOOST_HAS_TR1_COMPLEX_OVERLOADS

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Apr 02 11:49:11 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_COMPLEX_OVERLOADS // Test file for macro BOOST_HAS_TR1_COMPLEX_OVERLOADS
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_COMPLEX_OVERLOADS #ifdef BOOST_HAS_TR1_COMPLEX_OVERLOADS

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Apr 02 11:49:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG // Test file for macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG #ifndef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Apr 02 11:49:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG // Test file for macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG #ifdef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Jan 25 15:52:52 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_FUNCTION // Test file for macro BOOST_HAS_TR1_FUNCTION
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_FUNCTION #ifndef BOOST_HAS_TR1_FUNCTION

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Jan 25 15:52:52 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_FUNCTION // Test file for macro BOOST_HAS_TR1_FUNCTION
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_FUNCTION #ifdef BOOST_HAS_TR1_FUNCTION

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Feb 19 12:29:55 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_HASH // Test file for macro BOOST_HAS_TR1_HASH
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_HASH #ifndef BOOST_HAS_TR1_HASH

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Feb 19 12:29:55 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_HASH // Test file for macro BOOST_HAS_TR1_HASH
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_HASH #ifdef BOOST_HAS_TR1_HASH

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Mon Jan 24 16:31:49 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_MEM_FN // Test file for macro BOOST_HAS_TR1_MEM_FN
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_MEM_FN #ifndef BOOST_HAS_TR1_MEM_FN

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Mon Jan 24 16:31:49 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_MEM_FN // Test file for macro BOOST_HAS_TR1_MEM_FN
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_MEM_FN #ifdef BOOST_HAS_TR1_MEM_FN

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Feb 15 17:34:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_RANDOM // Test file for macro BOOST_HAS_TR1_RANDOM
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_RANDOM #ifndef BOOST_HAS_TR1_RANDOM

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Feb 15 17:34:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_RANDOM // Test file for macro BOOST_HAS_TR1_RANDOM
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_RANDOM #ifdef BOOST_HAS_TR1_RANDOM

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sun Jan 16 16:06:37 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_REFERENCE_WRAPPER // Test file for macro BOOST_HAS_TR1_REFERENCE_WRAPPER
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_REFERENCE_WRAPPER #ifndef BOOST_HAS_TR1_REFERENCE_WRAPPER

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sun Jan 16 16:06:37 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_REFERENCE_WRAPPER // Test file for macro BOOST_HAS_TR1_REFERENCE_WRAPPER
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_REFERENCE_WRAPPER #ifdef BOOST_HAS_TR1_REFERENCE_WRAPPER

View File

@ -1,15 +1,18 @@
// This file was automatically generated on Sat Apr 02 11:49:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_ARRAY
// Test file for macro BOOST_HAS_TR1_REGEX
// This file should not compile, if it does then // This file should not compile, if it does then
// BOOST_HAS_TR1_ARRAY should be defined. // BOOST_HAS_TR1_REGEX should be defined.
// See file boost_has_tr1_regex.ipp for details // See file boost_has_tr1_regex.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats // Must not have BOOST_ASSERT_CONFIG set; it defeats
@ -19,9 +22,10 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_ARRAY #ifndef BOOST_HAS_TR1_REGEX
#include "boost_has_tr1_regex.ipp" #include "boost_has_tr1_regex.ipp"
#else #else
#error "this file should not compile" #error "this file should not compile"
@ -29,6 +33,6 @@
int main( int, char *[] ) int main( int, char *[] )
{ {
return boost_has_tr1_array::test(); return boost_has_tr1_regex::test();
} }

View File

@ -1,15 +1,18 @@
// This file was automatically generated on Sat Apr 02 11:49:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_ARRAY
// Test file for macro BOOST_HAS_TR1_REGEX
// This file should compile, if it does not then // This file should compile, if it does not then
// BOOST_HAS_TR1_ARRAY should not be defined. // BOOST_HAS_TR1_REGEX should not be defined.
// See file boost_has_tr1_regex.ipp for details // See file boost_has_tr1_regex.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats // Must not have BOOST_ASSERT_CONFIG set; it defeats
@ -19,16 +22,17 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_ARRAY #ifdef BOOST_HAS_TR1_REGEX
#include "boost_has_tr1_regex.ipp" #include "boost_has_tr1_regex.ipp"
#else #else
namespace boost_has_tr1_array = empty_boost; namespace boost_has_tr1_regex = empty_boost;
#endif #endif
int main( int, char *[] ) int main( int, char *[] )
{ {
return boost_has_tr1_array::test(); return boost_has_tr1_regex::test();
} }

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Mon Jan 24 16:31:49 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_RESULT_OF // Test file for macro BOOST_HAS_TR1_RESULT_OF
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_RESULT_OF #ifndef BOOST_HAS_TR1_RESULT_OF

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Mon Jan 24 16:31:49 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_RESULT_OF // Test file for macro BOOST_HAS_TR1_RESULT_OF
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_RESULT_OF #ifdef BOOST_HAS_TR1_RESULT_OF

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Mon Jan 17 10:49:50 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_SHARED_PTR // Test file for macro BOOST_HAS_TR1_SHARED_PTR
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_SHARED_PTR #ifndef BOOST_HAS_TR1_SHARED_PTR

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Mon Jan 17 10:49:50 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_SHARED_PTR // Test file for macro BOOST_HAS_TR1_SHARED_PTR
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_SHARED_PTR #ifdef BOOST_HAS_TR1_SHARED_PTR

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Feb 15 17:34:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_TUPLE // Test file for macro BOOST_HAS_TR1_TUPLE
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_TUPLE #ifndef BOOST_HAS_TR1_TUPLE

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Feb 15 17:34:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_TUPLE // Test file for macro BOOST_HAS_TR1_TUPLE
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_TUPLE #ifdef BOOST_HAS_TR1_TUPLE

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Feb 15 17:34:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_TYPE_TRAITS // Test file for macro BOOST_HAS_TR1_TYPE_TRAITS
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_TYPE_TRAITS #ifndef BOOST_HAS_TR1_TYPE_TRAITS

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Feb 15 17:34:12 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_TYPE_TRAITS // Test file for macro BOOST_HAS_TR1_TYPE_TRAITS
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_TYPE_TRAITS #ifdef BOOST_HAS_TR1_TYPE_TRAITS

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Feb 19 12:29:55 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_UNORDERED_MAP // Test file for macro BOOST_HAS_TR1_UNORDERED_MAP
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_UNORDERED_MAP #ifndef BOOST_HAS_TR1_UNORDERED_MAP

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Feb 19 12:29:55 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_UNORDERED_MAP // Test file for macro BOOST_HAS_TR1_UNORDERED_MAP
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_UNORDERED_MAP #ifdef BOOST_HAS_TR1_UNORDERED_MAP

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Feb 19 12:29:55 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_UNORDERED_SET // Test file for macro BOOST_HAS_TR1_UNORDERED_SET
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_UNORDERED_SET #ifndef BOOST_HAS_TR1_UNORDERED_SET

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Sat Feb 19 12:29:55 2005 // This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_UNORDERED_SET // Test file for macro BOOST_HAS_TR1_UNORDERED_SET
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_UNORDERED_SET #ifdef BOOST_HAS_TR1_UNORDERED_SET

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Feb 15 17:34:13 2005 // This file was automatically generated on Sat Jul 12 12:39:33 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_UTILITY // Test file for macro BOOST_HAS_TR1_UTILITY
// This file should not compile, if it does then // This file should not compile, if it does then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifndef BOOST_HAS_TR1_UTILITY #ifndef BOOST_HAS_TR1_UTILITY

View File

@ -1,11 +1,14 @@
// This file was automatically generated on Tue Feb 15 17:34:13 2005 // This file was automatically generated on Sat Jul 12 12:39:33 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file // Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // 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. // See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_HAS_TR1_UTILITY // Test file for macro BOOST_HAS_TR1_UTILITY
// This file should compile, if it does not then // This file should compile, if it does not then
@ -19,6 +22,7 @@
#endif #endif
#include <boost/config.hpp> #include <boost/config.hpp>
#include <boost/tr1/detail/config.hpp>
#include "test.hpp" #include "test.hpp"
#ifdef BOOST_HAS_TR1_UTILITY #ifdef BOOST_HAS_TR1_UTILITY

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Fri Mar 28 16:52:13 2008
// 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 40184 2007-10-19 12:46:54Z johnmaddock $
//
// Test file for macro BOOST_NO_ADL_BARRIER
// This file should not compile, if it does then
// BOOST_NO_ADL_BARRIER should not be defined.
// See file boost_no_adl_barrier.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_ADL_BARRIER
#include "boost_no_adl_barrier.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_adl_barrier::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Fri Mar 28 16:52:13 2008
// 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 40184 2007-10-19 12:46:54Z johnmaddock $
//
// Test file for macro BOOST_NO_ADL_BARRIER
// This file should compile, if it does not then
// BOOST_NO_ADL_BARRIER should be defined.
// See file boost_no_adl_barrier.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_ADL_BARRIER
#include "boost_no_adl_barrier.ipp"
#else
namespace boost_no_adl_barrier = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_adl_barrier::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Mon Apr 21 12:40:41 2008
// 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 44422 2008-04-14 18:06:59Z johnmaddock $
//
// Test file for macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
// This file should not compile, if it does then
// BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS should not be defined.
// See file boost_no_part_spec_def_args.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
#include "boost_no_part_spec_def_args.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_partial_specialization_implicit_default_args::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Mon Apr 21 12:40:41 2008
// 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 44422 2008-04-14 18:06:59Z johnmaddock $
//
// Test file for macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
// This file should compile, if it does not then
// BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS should be defined.
// See file boost_no_part_spec_def_args.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
#include "boost_no_part_spec_def_args.ipp"
#else
namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_partial_specialization_implicit_default_args::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Mon Apr 21 10:10:52 2008
// 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 44422 2008-04-14 18:06:59Z johnmaddock $
//
// Test file for macro BOOST_NO_TEMPLATED_IOSTREAMS
// This file should not compile, if it does then
// BOOST_NO_TEMPLATED_IOSTREAMS should not be defined.
// See file boost_no_template_streams.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_TEMPLATED_IOSTREAMS
#include "boost_no_template_streams.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_templated_iostreams::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Mon Apr 21 10:10:52 2008
// 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 44422 2008-04-14 18:06:59Z johnmaddock $
//
// Test file for macro BOOST_NO_TEMPLATED_IOSTREAMS
// This file should compile, if it does not then
// BOOST_NO_TEMPLATED_IOSTREAMS should be defined.
// See file boost_no_template_streams.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_TEMPLATED_IOSTREAMS
#include "boost_no_template_streams.ipp"
#else
namespace boost_no_templated_iostreams = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_templated_iostreams::test();
}

View File

@ -1,26 +0,0 @@
# copyright John Maddock 2003
# 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)
#
# this template defines the options common to
# all config builds and tests:
#
template config_options
: # sources
: # requirements
<sysinclude>$(BOOST_ROOT)
# como requires access to <windows.h>:
<como-win32><*><no-warn>
# threading tests require thread support turned on:
<threading>multi
;
template config_test_options
: # sources
<lib>../../test/build/boost_test_exec_monitor
<template>config_options
;

View File

@ -89,33 +89,9 @@ void write_config_test()
ofs << "int main( int, char *[] )\n{\n" << config_test2.str() << " return error_count;\n}\n\n"; ofs << "int main( int, char *[] )\n{\n" << config_test2.str() << " return error_count;\n}\n\n";
} }
void write_jamfile()
{
fs::ofstream ofs(config_path / "Jamfile");
time_t t = std::time(0);
ofs << "#\n# Regression test Jamfile for boost configuration setup.\n# *** DO NOT EDIT THIS FILE BY HAND ***\n"
"# This file was automatically generated on " << std::ctime(&t);
ofs << "# by libs/config/tools/generate.cpp\n"
"# Copyright John Maddock.\n"
"# Use, modification and distribution are subject to the \n"
"# Boost Software License, Version 1.0. (See accompanying file \n"
"# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n"
"#\n# If you need to alter build preferences then set them in\n"
"# the template defined in options.jam.\n#\n"
"subproject libs/config/test ;\n"
"# bring in the rules for testing\n"
"import testing ./options ;\n\n"
"run config_info.cpp <template>config_options ;\n"
"run math_info.cpp <template>config_options : : : <borland><*><runtime-link>static ;\n"
"run config_test.cpp <template>config_options ;\n"
"run limits_test.cpp <template>config_test_options ;\n"
"run abi/abi_test.cpp abi/main.cpp <template>config_options ;\n\n";
ofs << jamfile.str() << std::endl;
}
void write_jamfile_v2() void write_jamfile_v2()
{ {
fs::ofstream ofs(config_path / "Jamfile.v2"); fs::ofstream ofs(config_path / "all" / "Jamfile.v2");
time_t t = std::time(0); time_t t = std::time(0);
ofs << "#\n# Regression test Jamfile for boost configuration setup.\n# *** DO NOT EDIT THIS FILE BY HAND ***\n" ofs << "#\n# Regression test Jamfile for boost configuration setup.\n# *** DO NOT EDIT THIS FILE BY HAND ***\n"
"# This file was automatically generated on " << std::ctime(&t); "# This file was automatically generated on " << std::ctime(&t);
@ -128,11 +104,13 @@ void write_jamfile_v2()
"# the template defined in options_v2.jam.\n#\n" "# the template defined in options_v2.jam.\n#\n"
"path-constant DOT : . ;\n" "path-constant DOT : . ;\n"
"include $(DOT)/options_v2.jam ;\n\n" "include $(DOT)/options_v2.jam ;\n\n"
"run config_info.cpp ;\n" "run ../config_info.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;\n"
"run math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;\n" "run ../config_info.cpp : : : <threading>multi : config_info_threaded ;\n"
"run config_test.cpp ;\n" "run ../math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;\n"
"run limits_test.cpp ../../test/build//boost_test_exec_monitor ;\n" "run ../config_test.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;\n"
"run abi/abi_test.cpp abi/main.cpp ;\n\n"; "run ../config_test.cpp : : : <threading>multi : config_test_threaded ;\n"
"run ../limits_test.cpp ../../../test/build//boost_test_exec_monitor ;\n"
"run ../abi/abi_test.cpp ../abi/main.cpp ;\n\n";
ofs << jamfile_v2.str() << std::endl; ofs << jamfile_v2.str() << std::endl;
} }
@ -178,8 +156,14 @@ void write_test_file(const fs::path& file,
"# undef BOOST_ASSERT_CONFIG\n" "# undef BOOST_ASSERT_CONFIG\n"
"#endif\n\n"; "#endif\n\n";
ofs << "#include <boost/config.hpp>\n" static const boost::regex tr1_exp("BOOST_HAS_TR1.*");
"#include \"test.hpp\"\n\n"
ofs << "#include <boost/config.hpp>\n";
if(regex_match(macro_name, tr1_exp))
ofs << "#include <boost/tr1/detail/config.hpp>\n";
ofs << "#include \"test.hpp\"\n\n"
"#if"; "#if";
if(positive_test != expect_success) if(positive_test != expect_success)
ofs << "n"; ofs << "n";
@ -263,8 +247,8 @@ void process_ipp_file(const fs::path& file, bool positive_test)
"[ compile-fail " << negative_file.leaf() << " <template>config_options ] ;\n"; "[ compile-fail " << negative_file.leaf() << " <template>config_options ] ;\n";
jamfile_v2 << "test-suite \"" << macro_name << "\" : \n" jamfile_v2 << "test-suite \"" << macro_name << "\" : \n"
"[ run " << positive_file.leaf() << " ]\n" "[ run ../" << positive_file.leaf() << " ]\n"
"[ compile-fail " << negative_file.leaf() << " ] ;\n"; "[ compile-fail ../" << negative_file.leaf() << " ] ;\n";
} }
@ -292,14 +276,13 @@ int cpp_main(int argc, char* argv[])
fs::directory_iterator i(config_path), j; fs::directory_iterator i(config_path), j;
while(i != j) while(i != j)
{ {
if(boost::regex_match(i->leaf(), ipp_match, ipp_mask)) if(boost::regex_match(i->path().leaf(), ipp_match, ipp_mask))
{ {
process_ipp_file(*i, ipp_match[1].matched); process_ipp_file(*i, ipp_match[1].matched);
} }
++i; ++i;
} }
write_config_test(); write_config_test();
write_jamfile();
write_jamfile_v2(); write_jamfile_v2();
write_config_info(); write_config_info();
return 0; return 0;