Compare commits

...

17 Commits

Author SHA1 Message Date
Beman Dawes
26630432dc Release 1.47.0
[SVN r73007]
2011-07-11 22:16:03 +00:00
John Maddock
72e2d4c24f Merge missing changes from Trunk.
Authorized by Daniel James.

[SVN r72800]
2011-06-29 18:00:59 +00:00
Daniel James
a4c133c6ce Merge config typo fix. Fixes #5581.
[SVN r72282]
2011-05-30 15:01:59 +00:00
John Maddock
8dd107358b Merge changes from Trunk.
Adds new macros BOOST_NO_NOEXCEPT and BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX.
Fixes #4867.
Fixes #5571.

[SVN r72217]
2011-05-27 16:56:00 +00:00
Marshall Clow
20a331cd0e Merge fixes to release; Fixes #1988
[SVN r71676]
2011-05-02 20:56:53 +00:00
John Maddock
dd3ebc8776 Merge Boost.Config changes to release.
[SVN r71480]
2011-04-25 12:10:48 +00:00
Daniel James
98d2f9fc1d Release: Merge fixed BOOST_LIB_VERSION from trunk.
[SVN r70560]
2011-03-26 10:43:03 +00:00
Daniel James
29fd4a0f96 Release: merge preperation for 1.47.0.
[SVN r70304]
2011-03-21 09:11:47 +00:00
John Maddock
df7e235df6 Regenerate with up to date autoconf - otherwise exhibits spurious failures.
[SVN r69710]
2011-03-08 17:22:16 +00:00
John Maddock
34092fc1c1 Bring Boost.Config into line with Trunk.
[SVN r69624]
2011-03-07 13:07:30 +00:00
Daniel James
01dc0e99a0 Merge prep for 1.46.1
[SVN r69468]
2011-03-02 08:38:42 +00:00
John Maddock
1efc29c864 Fix pathscale config.
[SVN r68542]
2011-01-29 12:09:03 +00:00
John Maddock
7b3a8ec37e Merge doc changes from Trunk so that BOOST*NIX macros are no longer defined.
[SVN r68482]
2011-01-27 18:29:26 +00:00
Hartmut Kaiser
1614645b5c Spirit: merge from trunk
[SVN r68078]
2011-01-13 02:11:19 +00:00
Hartmut Kaiser
a29c3edc9b Wave: merging from trunk
[SVN r68004]
2011-01-11 23:19:22 +00:00
John Maddock
3ce24d6389 Merge Boost.Config changes from Trunk.
[SVN r67522]
2010-12-31 17:08:07 +00:00
Daniel James
bb3e68b516 Merge 1.46.0 prep.
[SVN r66993]
2010-12-03 23:50:44 +00:00
95 changed files with 2847 additions and 2022 deletions

2854
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -42,14 +42,12 @@
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code">Macros
for libraries with separate source code</a></span></dt>
</dl></div>
<a name="config_defects"></a><p>
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_defects"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects" title="Macros that describe defects">Macros
that describe defects</a>
</h3></div></div></div>
<p>
<a name="config_defects"></a><p>
The following macros all describe features that are required by the C++ standard,
if one of the following macros is defined, then it represents a defect in
the compiler's conformance with the standard.
@@ -282,6 +280,26 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_FENV_H</span></code>
</p>
</td>
<td>
<p>
Platform, Standard library
</p>
</td>
<td>
<p>
The C standard library doesn't provide <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
<a href="../../../../../boost/detail/fenv.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
should be included instead of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
for maximum portability on platforms which do provide <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_DEPENDENT_NESTED_DERIVATIONS</span></code>
@@ -1306,14 +1324,12 @@
</tbody>
</table></div>
</div>
<a name="config_features"></a><p>
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_optional_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features" title="Macros that describe optional features">Macros
that describe optional features</a>
</h3></div></div></div>
<p>
<a name="config_features"></a><p>
The following macros describe features that are not required by the C++ standard.
The macro is only defined if the feature is present.
</p>
@@ -2305,18 +2321,6 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;concepts&gt;.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONDITION_VARIABLE</span></code>
@@ -2329,18 +2333,6 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONTAINER_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;container_concepts&gt;.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FORWARD_LIST</span></code>
@@ -2377,30 +2369,6 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_ITERATOR_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;iterator_concepts&gt;.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MEMORY_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;memory_concepts&gt;.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MUTEX</span></code>
@@ -2589,18 +2557,6 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support Concepts.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code>
@@ -2739,6 +2695,18 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_NOEXCEPT</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="identifier">noexcept</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_NULLPTR</span></code>
@@ -2837,6 +2805,19 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the <a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Uniform_initialization" target="_top">C++11
Unified Initialization Syntax</a>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_TEMPLATES</span></code>
@@ -2863,14 +2844,12 @@
</tbody>
</table></div>
</div>
<a name="config_helpers"></a><p>
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost
Helper Macros</a>
</h3></div></div></div>
<p>
<a name="config_helpers"></a><p>
The following macros are either simple helpers, or macros that provide workarounds
for compiler/standard library defects.
</p>
@@ -2940,6 +2919,30 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_PREVENT_MACRO_SUBSTITUTION</span></code>
</p>
</td>
<td>
<p>
Sometimes you have a function name with the same name as a C macro,
for example "min" and "max" member functions,
in which case one can prevent the function being expanded as a
macro using:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">someclass</span><span class="special">.</span><span class="identifier">min</span> <span class="identifier">BOOST_PREVENT_MACRO_SUBSTITUTION</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">);</span>
</pre>
<p>
The following also works in most, but not all, contexts:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">(</span><span class="identifier">someclass</span><span class="special">.</span><span class="identifier">max</span><span class="special">)(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">);</span>
</pre>
<p>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_DEDUCED_TYPENAME</span></code>
@@ -3200,17 +3203,86 @@
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_CONSTEXPR</span></code>
</p>
</td>
<td>
<p>
Some compilers don't support the use of <code class="computeroutput"><span class="identifier">constexpr</span></code>.
This macro expands to nothing on those compilers, and <code class="computeroutput"><span class="identifier">constexpr</span></code> elsewhere. For example,
when defining a constexpr function or constructor replace:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">constexpr</span> <span class="identifier">tuple</span><span class="special">();</span>
</pre>
<p>
with:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">tuple</span><span class="special">();</span>
</pre>
<p>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_CONSTEXPR_OR_CONST</span></code>
</p>
</td>
<td>
<p>
Some compilers don't support the use of <code class="computeroutput"><span class="identifier">constexpr</span></code>.
This macro expands to <code class="computeroutput"><span class="keyword">const</span></code>
on those compilers, and <code class="computeroutput"><span class="identifier">constexpr</span></code>
elsewhere. For example, when defining const expr variables replace:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
</pre>
<p>
with:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR_OR_CONST</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
</pre>
<p>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_STATIC_CONSTEXPR</span></code>
</p>
</td>
<td>
<p>
This is a shortcut for <code class="computeroutput"><span class="keyword">static</span>
<span class="identifier">BOOST_CONSTEXPR_OR_CONST</span></code>For
example, when defining const expr variables replace:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
</pre>
<p>
with:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
</pre>
<p>
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<a name="config_info_macros"></a><p>
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.boost_informational_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros" title="Boost Informational Macros">Boost
Informational Macros</a>
</h3></div></div></div>
<p>
<a name="config_info_macros"></a><p>
The following macros describe boost features; these are, generally speaking
the only boost macros that should be tested in user code.
</p>
@@ -3385,7 +3457,7 @@
</td>
<td>
<p>
Defined if the Windows platfrom API is available.
Defined if the Windows platform API is available.
</p>
</td>
</tr>

View File

@@ -28,8 +28,8 @@
Boost Authors</a>
</h2></div></div></div>
<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.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
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
@@ -105,8 +105,8 @@
</ul></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.guidelines_for_boost_authors.warnings"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings" title="Disabling Compiler Warnings">
Disabling Compiler Warnings</a>
<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>

View File

@@ -28,7 +28,7 @@
</h3></div></div></div>
<div><p class="copyright">Copyright &#169; 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
<div><div class="legalnotice">
<a name="id1010243"></a><p>
<a name="id996438"></a><p>
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>)
</p>
@@ -75,8 +75,8 @@
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html">Guidelines for
Boost Authors</a></span></dt>
<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.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
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
@@ -166,14 +166,12 @@
developers list.
</p>
</div>
<a name="config_config_script"></a><p>
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.configuring_boost_for_your_platform.using_the_configure_script"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script" title="Using the configure script">Using
the configure script</a>
</h3></div></div></div>
<div class="important"><table border="0" summary="Important">
<a name="config_config_script"></a><div class="important"><table border="0" summary="Important">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../doc/src/images/important.png"></td>
<th align="left">Important</th>
@@ -310,14 +308,12 @@
</li>
</ul></div>
</div>
<a name="config_user_settable"></a><p>
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.configuring_boost_for_your_platform.user_settable_options"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options" title="User settable options">User
settable options</a>
</h3></div></div></div>
<p>
<a name="config_user_settable"></a><p>
There are some configuration-options that represent user choices, rather
than compiler defects or platform specific options. These are listed in
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
@@ -950,7 +946,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: September 26, 2010 at 09:24:20 GMT</small></p></td>
<td align="left"><p><small>Last revised: May 09, 2011 at 11:33:33 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@@ -71,6 +71,11 @@ The Platform does not provide `<wchar.h>` and `<cwchar>`.
[[`BOOST_NO_CWCTYPE`][Platform][
The Platform does not provide `<wctype.h>` and `<cwctype>`.
]]
[[`BOOST_NO_FENV_H`][Platform, Standard library][
The C standard library doesn't provide `<fenv.h>`. [@../../../../boost/detail/fenv.hpp
`<boost/detail/fenv.hpp>`] should be included instead of `<fenv.h>` for maximum
portability on platforms which do provide `<fenv.h>`.
]]
[[`BOOST_NO_DEPENDENT_NESTED_DERIVATIONS`][Compiler][
The compiler fails to compile a nested class that has a dependent base class:
``
@@ -534,14 +539,10 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_0X_HDR_ARRAY`][The standard library does not provide header <array>.]]
[[`BOOST_NO_0X_HDR_CHRONO`][The standard library does not provide header <chrono>.]]
[[`BOOST_NO_0X_HDR_CODECVT`][The standard library does not provide header <codecvt>.]]
[[`BOOST_NO_0X_HDR_CONCEPTS`][The standard library does not provide header <concepts>.]]
[[`BOOST_NO_0X_HDR_CONDITION_VARIABLE`][The standard library does not provide header <condition_variable>.]]
[[`BOOST_NO_0X_HDR_CONTAINER_CONCEPTS`][The standard library does not provide header <container_concepts>.]]
[[`BOOST_NO_0X_HDR_FORWARD_LIST`][The standard library does not provide header <forward_list>.]]
[[`BOOST_NO_0X_HDR_FUTURE`][The standard library does not provide header <future>.]]
[[`BOOST_NO_0X_HDR_INITIALIZER_LIST`][The standard library does not provide header <initializer_list>.]]
[[`BOOST_NO_0X_HDR_ITERATOR_CONCEPTS`][The standard library does not provide header <iterator_concepts>.]]
[[`BOOST_NO_0X_HDR_MEMORY_CONCEPTS`][The standard library does not provide header <memory_concepts>.]]
[[`BOOST_NO_0X_HDR_MUTEX`][The standard library does not provide header <mutex>.]]
[[`BOOST_NO_0X_HDR_RANDOM`][The standard library does not provide header <random>.]]
[[`BOOST_NO_0X_HDR_RATIO`][The standard library does not provide header <ratio>.]]
@@ -566,8 +567,6 @@ type `char16_t`.
[[`BOOST_NO_CHAR32_T`][The compiler does not support
type `char32_t`.
]]
[[`BOOST_NO_CONCEPTS`][The compiler does not support Concepts.
]]
[[`BOOST_NO_TEMPLATE_ALIASES`][The compiler does not support template aliases.
]]
[[`BOOST_NO_CONSTEXPR`][The compiler does not support
@@ -598,6 +597,8 @@ The C++ compiler does not support C++0x initializer lists.
]]
[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
]]
[[`BOOST_NO_NOEXCEPT`][The compiler does not support `noexcept`.
]]
[[`BOOST_NO_NULLPTR`][The compiler does not support 'nullptr'.
]]
[[`BOOST_NO_RAW_LITERALS`][The compiler does not support
@@ -619,7 +620,10 @@ scoped enumerations (`enum class`).
]]
[[`BOOST_NO_UNICODE_LITERALS`][The compiler does not support
Unicode (`u8`, `u`, `U`) literals.
]]
]]
[[`BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX`][The compiler does not support
the [@http://en.wikipedia.org/wiki/C%2B%2B0x#Uniform_initialization C++11 Unified Initialization Syntax].
]]
[[`BOOST_NO_VARIADIC_TEMPLATES`][The compiler does not support
variadic templates.
]]
@@ -669,6 +673,17 @@ of `__BORLANDC__` /unless/ the macro `BOOST_DETECT_OUTDATED_WORKAROUNDS` is defi
[*Note]: the ultimate source of documentation for this macro is in [@../../../../boost/detail/workaround.hpp boost/detail/workaround.hpp].
]]
[[`BOOST_PREVENT_MACRO_SUBSTITUTION`][
Sometimes you have a function name with the same name as a C macro, for example "min" and "max"
member functions, in which case one can prevent the function being expanded as a macro using:
``
someclass.min BOOST_PREVENT_MACRO_SUBSTITUTION(arg1, arg2);
``
The following also works in most, but not all, contexts:
``
(someclass.max)(arg1, arg2);
``
]]
[[`BOOST_DEDUCED_TYPENAME`][
Some compilers don't support the use of typename for dependent types in deduced
contexts. This macro expands to nothing on those compilers, and typename
@@ -798,6 +813,38 @@ the arguments is itself a macro (see 16.3.1 in C++ standard). This is normally
used to create a mangled name in combination with a predefined macro such a
\_\_LINE__.
]]
[[`BOOST_CONSTEXPR`][
Some compilers don't support the use of `constexpr`. This macro expands to nothing on those compilers, and `constexpr`
elsewhere. For example, when defining a constexpr function or constructor replace:
``
constexpr tuple();
``
with:
``
BOOST_CONSTEXPR tuple();
``
]]
[[`BOOST_CONSTEXPR_OR_CONST`][
Some compilers don't support the use of `constexpr`. This macro expands to `const` on those compilers, and `constexpr`
elsewhere. For example, when defining const expr variables replace:
``
static constexpr UIntType xor_mask = a;
``
with:
``
static BOOST_CONSTEXPR_OR_CONST UIntType xor_mask = a;
``
]]
[[`BOOST_STATIC_CONSTEXPR`][
This is a shortcut for `static BOOST_CONSTEXPR_OR_CONST`For example, when defining const expr variables replace:
``
static constexpr UIntType xor_mask = a;
``
with:
``
BOOST_STATIC_CONSTEXPR UIntType xor_mask = a;
``
]]
]
[endsect]
@@ -843,7 +890,7 @@ compiler version macro.
Defined to 1 if the compiler is the Clang compiler.
]]
[[`BOOST_WINDOWS`][`<boost/config.hpp>`][
Defined if the Windows platfrom API is available.
Defined if the Windows platform API is available.
]]
[[`BOOST_DINKUMWARE_STDLIB`][`<boost/config.hpp>`][
Defined if the dinkumware standard library is in use, takes the same value

View File

@@ -36,7 +36,7 @@
#endif
// if we don't have a std library config set, try and find one:
#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG)
#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus)
# include <boost/config/select_stdlib_config.hpp>
#endif
// if we have a std library config, include it now:

View File

@@ -414,7 +414,4 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
#if defined(BOOST_DYN_LINK)
# undef BOOST_DYN_LINK
#endif
#if defined(BOOST_AUTO_LINK_NOMANGLE)
# undef BOOST_AUTO_LINK_NOMANGLE
#endif

View File

@@ -56,8 +56,13 @@
# define BOOST_NO_CV_VOID_SPECIALIZATIONS
# define BOOST_NO_DEDUCED_TYPENAME
// workaround for missing WCHAR_MAX/WCHAR_MIN:
#ifdef __cplusplus
#include <climits>
#include <cwchar>
#else
#include <limits.h>
#include <wchar.h>
#endif // __cplusplus
#ifndef WCHAR_MAX
# define WCHAR_MAX 0xffff
#endif
@@ -69,7 +74,7 @@
// Borland C++ Builder 6 and below:
#if (__BORLANDC__ <= 0x564)
# ifdef NDEBUG
# if defined(NDEBUG) && defined(__cplusplus)
// fix broken <cstring> so that Boost.test works:
# include <cstring>
# undef strcmp
@@ -166,7 +171,6 @@
#define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DELETED_FUNCTIONS
@@ -181,6 +185,8 @@
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS // UTF-8 still not supported
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#if __BORLANDC__ >= 0x590
# define BOOST_HAS_TR1_HASH
@@ -275,3 +281,4 @@

View File

@@ -13,8 +13,7 @@
# define BOOST_NO_EXCEPTIONS
#endif
#if __has_feature(cxx_rtti)
#else
#if !__has_feature(cxx_rtti)
# define BOOST_NO_RTTI
#endif
@@ -24,35 +23,58 @@
#define BOOST_HAS_NRVO
// NOTE: Clang's C++0x support is not worth detecting. However, it
// supports both extern templates and "long long" even in C++98/03
// mode.
// Clang supports "long long" in all compilation modes.
#define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#if !__has_feature(cxx_decltype)
# define BOOST_NO_DECLTYPE
#endif
#define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DELETED_FUNCTIONS
#if !__has_feature(cxx_deleted_functions)
# define BOOST_NO_DELETED_FUNCTIONS
#endif
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#if !__has_feature(cxx_default_function_template_args)
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#endif
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
#define BOOST_NO_SCOPED_ENUMS
#define BOOST_NO_STATIC_ASSERT
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#if !__has_feature(cxx_rvalue_references)
# define BOOST_NO_RVALUE_REFERENCES
#endif
#if !__has_feature(cxx_strong_enums)
# define BOOST_NO_SCOPED_ENUMS
#endif
#if !__has_feature(cxx_static_assert)
# define BOOST_NO_STATIC_ASSERT
#endif
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_VARIADIC_MACROS
// HACK: Clang does support extern templates, but Boost's test for
// them is wrong.
#define BOOST_NO_EXTERN_TEMPLATE
#if !__has_feature(cxx_variadic_templates)
# define BOOST_NO_VARIADIC_TEMPLATES
#endif
// Clang always supports variadic macros
// Clang always supports extern templates
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "Clang version " __clang_version__

View File

@@ -60,7 +60,7 @@
// (Niels Dekker, LKEB, April 2010)
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
# ifdef NDEBUG
# if defined(NDEBUG) && defined(__cplusplus)
// fix broken <cstring> so that Boost.test works:
# include <cstring>
# undef strcmp
@@ -93,7 +93,6 @@
#define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DELETED_FUNCTIONS
@@ -101,6 +100,7 @@
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
@@ -108,6 +108,7 @@
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
//
// TR1 macros:

View File

@@ -62,16 +62,18 @@
#if (__EDG_VERSION__ < 310)
# define BOOST_NO_EXTERN_TEMPLATE
#endif
#if (__EDG_VERSION__ <= 310) || !defined(BOOST_STRICT_CONFIG)
#if (__EDG_VERSION__ <= 310)
// No support for initializer lists
# define BOOST_NO_INITIALIZER_LISTS
#endif
#if (__EDG_VERSION__ < 400)
# define BOOST_NO_VARIADIC_MACROS
#endif
#define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS
@@ -79,6 +81,7 @@
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
@@ -88,7 +91,7 @@
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_VARIADIC_MACROS
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#ifdef c_plusplus
// EDG has "long long" in non-strict mode

View File

@@ -44,7 +44,9 @@
//
// Is this really the best way to detect whether the std lib is in namespace std?
//
#ifdef __cplusplus
#include <cstddef>
#endif
#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
# define BOOST_NO_STDC_NAMESPACE
#endif
@@ -62,7 +64,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS
@@ -71,6 +72,7 @@
#define BOOST_NO_EXTERN_TEMPLATE
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
@@ -80,6 +82,8 @@
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#if (__DMC__ < 0x812)
#define BOOST_NO_VARIADIC_MACROS
#endif

View File

@@ -148,8 +148,6 @@
// C++0x features not implemented in any GCC version
//
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_NULLPTR
#define BOOST_NO_TEMPLATE_ALIASES
// C++0x features in 4.3.n and later
@@ -170,7 +168,7 @@
// Variadic templates compiler:
// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
# ifdef __VARIADIC_TEMPLATES
# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
# define BOOST_HAS_VARIADIC_TMPL
# else
# define BOOST_NO_VARIADIC_TEMPLATES
@@ -184,25 +182,16 @@
# define BOOST_NO_AUTO_MULTIDECLARATIONS
# define BOOST_NO_CHAR16_T
# define BOOST_NO_CHAR32_T
# define BOOST_NO_INITIALIZER_LISTS
# define BOOST_NO_DEFAULTED_FUNCTIONS
# define BOOST_NO_DELETED_FUNCTIONS
# define BOOST_NO_INITIALIZER_LISTS
# define BOOST_NO_SCOPED_ENUMS
#endif
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
# define BOOST_NO_SFINAE_EXPR
#endif
// C++0x features in 4.4.1 and later
//
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40401) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.4.1
// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
# define BOOST_NO_SCOPED_ENUMS
#endif
// C++0x features in 4.5.n and later
// C++0x features in 4.5.0 and later
//
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
@@ -211,28 +200,42 @@
# define BOOST_NO_UNICODE_LITERALS
#endif
// ConceptGCC compiler:
// http://www.generic-programming.org/software/ConceptGCC/
#ifdef __GXX_CONCEPTS__
# define BOOST_HAS_CONCEPTS
# define BOOST_COMPILER "ConceptGCC version " __VERSION__
#else
# define BOOST_NO_CONCEPTS
// C++0x features in 4.5.1 and later
//
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.5.1
// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
# define BOOST_NO_SCOPED_ENUMS
#endif
// C++0x features in 4.6.n and later
//
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#endif
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "GNU C++ version " __VERSION__
#endif
//
// ConceptGCC compiler:
// http://www.generic-programming.org/software/ConceptGCC/
#ifdef __GXX_CONCEPTS__
# define BOOST_HAS_CONCEPTS
# define BOOST_COMPILER "ConceptGCC version " __VERSION__
#endif
// versions check:
// we don't know gcc prior to version 2.90:
#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)
# error "Compiler not configured - please reconfigure"
#endif
//
// last known and checked version is 4.4 (Pre-release):
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 4))
// last known and checked version is 4.6 (Pre-release):
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else

View File

@@ -50,6 +50,8 @@
# define BOOST_NO_LAMBDAS
# define BOOST_NO_RAW_LITERALS
# define BOOST_NO_UNICODE_LITERALS
# define BOOST_NO_NOEXCEPT
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__

View File

@@ -96,7 +96,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS
@@ -106,6 +105,7 @@
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES

View File

@@ -26,7 +26,19 @@
# define BOOST_INTEL_CXX_VERSION __ECC
#endif
// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && __STDC_HOSTED__) || defined(__GXX_EXPERIMENTAL_CPP0X__)
# define BOOST_INTEL_STDCXX0X
#endif
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
# define BOOST_INTEL_STDCXX0X
#endif
#ifdef BOOST_INTEL_STDCXX0X
#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
#else
#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
#endif
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
#if defined(_WIN32) || defined(_WIN64)
@@ -99,7 +111,7 @@
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
# endif
#endif
#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1110)
#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1200)
// GCC or VC emulation:
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#endif
@@ -109,6 +121,7 @@
// in type_traits code among other things, getting this correct
// for the Intel compiler is actually remarkably fragile and tricky:
//
#ifdef __cplusplus
#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
#include <cwchar>
template< typename T > struct assert_no_intrinsic_wchar_t;
@@ -122,8 +135,9 @@ template<> struct assert_intrinsic_wchar_t<wchar_t> {};
// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:
template<> struct assert_intrinsic_wchar_t<unsigned short> {};
#endif
#endif
#if _MSC_VER+0 >= 1000
#if defined(_MSC_VER) && (_MSC_VER+0 >= 1000)
# if _MSC_VER >= 1200
# define BOOST_HAS_MS_INT64
# endif
@@ -179,10 +193,43 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
# define BOOST_SYMBOL_IMPORT
# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
#endif
//
// C++0x features
// - ICC added static_assert in 11.0 (first version with C++0x support)
//
#if defined(BOOST_INTEL_STDCXX0X)
# undef BOOST_NO_STATIC_ASSERT
//
// These pass our test cases, but aren't officially supported according to:
// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
//
//# undef BOOST_NO_LAMBDAS
//# undef BOOST_NO_DECLTYPE
//# undef BOOST_NO_AUTO_DECLARATIONS
//# undef BOOST_NO_AUTO_MULTIDECLARATIONS
#endif
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200)
# undef BOOST_NO_RVALUE_REFERENCES
//# undef BOOST_NO_SCOPED_ENUMS // doesn't really work!!
# undef BOOST_NO_DELETED_FUNCTIONS
# undef BOOST_NO_DEFAULTED_FUNCTIONS
# undef BOOST_NO_LAMBDAS
# undef BOOST_NO_DECLTYPE
# undef BOOST_NO_AUTO_DECLARATIONS
# undef BOOST_NO_AUTO_MULTIDECLARATIONS
#endif
#if (BOOST_INTEL_CXX_VERSION < 1200)
//
// fenv.h appears not to work with Intel prior to 12.0:
//
# define BOOST_NO_FENV_H
#endif
//
// last known and checked version:
#if (BOOST_INTEL_CXX_VERSION > 1110)
#if (BOOST_INTEL_CXX_VERSION > 1200)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# elif defined(_MSC_VER)

View File

@@ -96,7 +96,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS
@@ -106,6 +105,7 @@
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_SCOPED_ENUMS
@@ -115,6 +115,7 @@
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_VARIADIC_MACROS
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)

View File

@@ -44,7 +44,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS
@@ -54,6 +53,7 @@
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
@@ -64,6 +64,7 @@
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_VARIADIC_MACROS
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
//
// versions check:

View File

@@ -17,71 +17,12 @@
// Boost support macro for NVCC
// NVCC Basically behaves like some flavor of MSVC6 + some specific quirks
#define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
#define BOOST_MSVC6_MEMBER_TEMPLATES
#define BOOST_HAS_UNISTD_H
#define BOOST_HAS_STDINT_H
#define BOOST_HAS_SIGACTION
#define BOOST_HAS_SCHED_YIELD
#define BOOST_HAS_PTHREADS
#define BOOST_HAS_PTHREAD_YIELD
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
#define BOOST_HAS_NRVO
#define BOOST_HAS_NL_TYPES_H
#define BOOST_HAS_NANOSLEEP
#define BOOST_HAS_LONG_LONG
#define BOOST_HAS_LOG1P
#define BOOST_HAS_GETTIMEOFDAY
#define BOOST_HAS_EXPM1
#define BOOST_HAS_DIRENT_H
#define BOOST_HAS_CLOCK_GETTIME
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_VARIADIC_MACROS
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_STD_UNORDERED
#define BOOST_NO_STATIC_ASSERT
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_SCOPED_ENUMS
#define BOOST_NO_RVALUE_REFERENCES
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_NULLPTR
#define BOOST_NO_LAMBDAS
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_MS_INT64_NUMERIC_LIMITS
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_EXTERN_TEMPLATE
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
#define BOOST_NO_DELETED_FUNCTIONS
#define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DECLTYPE
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CHAR16_T
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_0X_HDR_UNORDERED_SET
#define BOOST_NO_0X_HDR_UNORDERED_MAP
#define BOOST_NO_0X_HDR_TYPE_TRAITS
#define BOOST_NO_0X_HDR_TUPLE
#define BOOST_NO_0X_HDR_THREAD
#define BOOST_NO_0X_HDR_TYPEINDEX
#define BOOST_NO_0X_HDR_SYSTEM_ERROR
#define BOOST_NO_0X_HDR_REGEX
#define BOOST_NO_0X_HDR_RATIO
#define BOOST_NO_0X_HDR_RANDOM
#define BOOST_NO_0X_HDR_MUTEX
#define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
#define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
#define BOOST_NO_0X_HDR_INITIALIZER_LIST
#define BOOST_NO_0X_HDR_FUTURE
#define BOOST_NO_0X_HDR_FORWARD_LIST
#define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
#define BOOST_NO_0X_HDR_CONDITION_VARIABLE
#define BOOST_NO_0X_HDR_CONCEPTS
#define BOOST_NO_0X_HDR_CODECVT
#define BOOST_NO_0X_HDR_CHRONO
#define BOOST_NO_0X_HDR_ARRAY
#ifdef __GNUC__
#include <boost/config/compiler/gcc.hpp>
#elif defined(_MSC_VER)
#include <boost/config/compiler/visualc.hpp>
#endif

View File

@@ -0,0 +1,79 @@
// (C) Copyright Bryce Lelbach 2011
// 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 for most recent version.
// PathScale EKOPath C++ Compiler
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
#endif
#if __PATHCC__ >= 4
# define BOOST_MSVC6_MEMBER_TEMPLATES
# define BOOST_HAS_UNISTD_H
# define BOOST_HAS_STDINT_H
# define BOOST_HAS_SIGACTION
# define BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_THREADS
# define BOOST_HAS_PTHREADS
# define BOOST_HAS_PTHREAD_YIELD
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
# define BOOST_HAS_NRVO
# define BOOST_HAS_NL_TYPES_H
# define BOOST_HAS_NANOSLEEP
# define BOOST_HAS_LONG_LONG
# define BOOST_HAS_LOG1P
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_EXPM1
# define BOOST_HAS_DIRENT_H
# define BOOST_HAS_CLOCK_GETTIME
# define BOOST_NO_VARIADIC_TEMPLATES
# define BOOST_NO_UNICODE_LITERALS
# define BOOST_NO_TEMPLATE_ALIASES
# define BOOST_NO_STD_UNORDERED
# define BOOST_NO_STATIC_ASSERT
# define BOOST_NO_SFINAE_EXPR
# define BOOST_NO_SCOPED_ENUMS
# define BOOST_NO_RVALUE_REFERENCES
# define BOOST_NO_RAW_LITERALS
# define BOOST_NO_NULLPTR
# define BOOST_NO_NUMERIC_LIMITS_LOWEST
# define BOOST_NO_NOEXCEPT
# define BOOST_NO_LAMBDAS
# define BOOST_NO_INITIALIZER_LISTS
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
# define BOOST_NO_DELETED_FUNCTIONS
# define BOOST_NO_DEFAULTED_FUNCTIONS
# define BOOST_NO_DECLTYPE
# define BOOST_NO_CONSTEXPR
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
# define BOOST_NO_CHAR32_T
# define BOOST_NO_CHAR16_T
# define BOOST_NO_AUTO_MULTIDECLARATIONS
# define BOOST_NO_AUTO_DECLARATIONS
# define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
# define BOOST_NO_0X_HDR_UNORDERED_SET
# define BOOST_NO_0X_HDR_UNORDERED_MAP
# define BOOST_NO_0X_HDR_TYPEINDEX
# define BOOST_NO_0X_HDR_TUPLE
# define BOOST_NO_0X_HDR_THREAD
# define BOOST_NO_0X_HDR_SYSTEM_ERROR
# define BOOST_NO_0X_HDR_REGEX
# define BOOST_NO_0X_HDR_RATIO
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CHRONO
#endif

View File

@@ -51,7 +51,6 @@
//
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS
@@ -61,6 +60,7 @@
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
@@ -71,6 +71,7 @@
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_VARIADIC_MACROS
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
//
// version check:

View File

@@ -103,7 +103,6 @@
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DEFAULTED_FUNCTIONS
@@ -113,6 +112,7 @@
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
@@ -123,6 +123,7 @@
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_VARIADIC_MACROS
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
//
// Version

View File

@@ -27,7 +27,6 @@
#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
# define BOOST_NO_INITIALIZER_LISTS
#endif
#if (__IBMCPP__ <= 1110)
@@ -54,44 +53,67 @@
#error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 600:
#if (__IBMCPP__ > 1010)
// last known and checked version is 1110:
#if (__IBMCPP__ > 1110)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
// Some versions of the compiler have issues with default arguments on partial specializations
#if __IBMCPP__ <= 1010
#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
#endif
//
// C++0x features
//
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
//
#define BOOST_NO_AUTO_DECLARATIONS
#define BOOST_NO_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#if ! __IBMCPP_AUTO_TYPEDEDUCTION
# define BOOST_NO_AUTO_DECLARATIONS
# define BOOST_NO_AUTO_MULTIDECLARATIONS
#endif
#if ! __IBMCPP_UTF_LITERAL__
# define BOOST_NO_CHAR16_T
# define BOOST_NO_CHAR32_T
#endif
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DECLTYPE
#if ! __IBMCPP_DECLTYPE
# define BOOST_NO_DECLTYPE
#else
# define BOOST_HAS_DECLTYPE
#endif
#define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DELETED_FUNCTIONS
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
#define BOOST_NO_EXTERN_TEMPLATE
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#if ! __IBMCPP_EXTERN_TEMPLATE
# define BOOST_NO_EXTERN_TEMPLATE
#endif
#if ! __IBMCPP_VARIADIC_TEMPLATES
// not enabled separately at this time
# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#endif
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_LAMBDAS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_NULLPTR
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_RVALUE_REFERENCES
#define BOOST_NO_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_STATIC_ASSERT
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#if ! __IBMCPP_STATIC_ASSERT
# define BOOST_NO_STATIC_ASSERT
#endif
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_VARIADIC_MACROS
#if ! __IBMCPP_VARIADIC_TEMPLATES
# define BOOST_NO_VARIADIC_TEMPLATES
#endif
#if ! __C99_MACRO_WITH_VA_ARGS
# define BOOST_NO_VARIADIC_MACROS
#endif

View File

@@ -37,6 +37,9 @@
//
#endif
/// Visual Studio has no fenv.h
#define BOOST_NO_FENV_H
#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0
# if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za
@@ -94,10 +97,6 @@
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
#endif
#if _MSC_VER <= 1600 // 1600 == VC++ 10.0
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#endif
#if _MSC_VER == 1500 // 1500 == VC++ 9.0
// A bug in VC9:
# define BOOST_NO_ADL_BARRIER
@@ -130,11 +129,15 @@
#endif
#if defined(_WIN32_WCE) || defined(UNDER_CE)
# define BOOST_NO_THREADEX
# define BOOST_NO_GETSYSTEMTIMEASFILETIME
# define BOOST_NO_SWPRINTF
#endif
// we have ThreadEx or GetSystemTimeAsFileTime unless we're running WindowsCE
#if !defined(_WIN32_WCE) && !defined(UNDER_CE)
# define BOOST_HAS_THREADEX
# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
#endif
//
// check for exception handling support:
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
@@ -180,7 +183,9 @@
#define BOOST_NO_RVALUE_REFERENCES
#define BOOST_NO_STATIC_ASSERT
#define BOOST_NO_NULLPTR
#define BOOST_NO_DECLTYPE
#endif // _MSC_VER < 1600
#if _MSC_VER >= 1600
#define BOOST_HAS_STDINT_H
#endif
@@ -188,20 +193,21 @@
// C++0x features not supported by any versions
#define BOOST_NO_CHAR16_T
#define BOOST_NO_CHAR32_T
#define BOOST_NO_CONCEPTS
#define BOOST_NO_CONSTEXPR
#define BOOST_NO_DEFAULTED_FUNCTIONS
#define BOOST_NO_DECLTYPE
#define BOOST_NO_DELETED_FUNCTIONS
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_INITIALIZER_LISTS
#define BOOST_NO_NOEXCEPT
#define BOOST_NO_RAW_LITERALS
#define BOOST_NO_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_TEMPLATE_ALIASES
#define BOOST_NO_UNICODE_LITERALS
#define BOOST_NO_VARIADIC_TEMPLATES
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
//
// prefix and suffix headers:
//

View File

@@ -39,6 +39,9 @@
#define BOOST_HAS_STDINT_H
#endif
/// Cygwin has no fenv.h
#define BOOST_NO_FENV_H
// boilerplate code:
#include <boost/config/posix_features.hpp>

View File

@@ -11,7 +11,11 @@
#define BOOST_PLATFORM "linux"
// make sure we have __GLIBC_PREREQ if available at all
#ifdef __cplusplus
#include <cstdlib>
#else
#include <stdlib.h>
#endif
//
// <stdint.h> added to glibc 2.1.1
@@ -68,6 +72,7 @@
// boilerplate code:
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>
#define BOOST_HAS_PTHREAD_YIELD
#ifndef __GNUC__
//

View File

@@ -64,16 +64,17 @@
# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )
# if !defined(BOOST_HAS_PTHREADS)
# define BOOST_HAS_MPTASKS
// MPTasks support is deprecated/removed from Boost:
//# define BOOST_HAS_MPTASKS
# elif ( __dest_os == __mac_os_x )
// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the
// gettimeofday and no posix.
# define BOOST_HAS_GETTIMEOFDAY
# endif
// The MP task implementation of Boost Threads aims to replace MP-unsafe
// parts of the MSL, so we turn on threads unconditionally.
# define BOOST_HAS_THREADS
#ifdef BOOST_HAS_PTHREADS
# define BOOST_HAS_THREADS
#endif
// The remote call manager depends on this.
# define BOOST_BIND_ENABLE_PASCAL

View File

@@ -18,8 +18,11 @@
// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
// make sure we have __GLIBC_PREREQ if available at all
# include <cstdlib>
// boilerplate code:
#ifdef __cplusplus
#include <cstdlib>
#else
#include <stdlib.h>
#endif// boilerplate code:
# define BOOST_HAS_UNISTD_H
# include <boost/config/posix_features.hpp>
// S60 SDK defines _POSIX_VERSION as POSIX.1

View File

@@ -31,7 +31,6 @@
# define BOOST_SYMBOL_IMPORT __declspec(dllimport)
#endif
#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
# define BOOST_HAS_STDINT_H
# define __STDC_LIMIT_MACROS
@@ -39,6 +38,11 @@
# define BOOST_HAS_UNISTD_H
#endif
#if defined(__MINGW32__) && (__GNUC__ >= 4)
# define BOOST_HAS_EXPM1
# define BOOST_HAS_LOG1P
# define BOOST_HAS_GETTIMEOFDAY
#endif
//
// Win32 will normally be using native Win32 threads,
// but there is a pthread library avaliable as an option,

View File

@@ -10,31 +10,6 @@
// See http://www.boost.org/ for most recent version.
// one identification macro for each of the
// compilers we support:
# define BOOST_CXX_GCCXML 0
# define BOOST_CXX_CLANG 0
# define BOOST_CXX_COMO 0
# define BOOST_CXX_DMC 0
# define BOOST_CXX_INTEL 0
# define BOOST_CXX_GNUC 0
# define BOOST_CXX_KCC 0
# define BOOST_CXX_SGI 0
# define BOOST_CXX_TRU64 0
# define BOOST_CXX_GHS 0
# define BOOST_CXX_BORLAND 0
# define BOOST_CXX_CW 0
# define BOOST_CXX_SUNPRO 0
# define BOOST_CXX_HPACC 0
# define BOOST_CXX_MPW 0
# define BOOST_CXX_IBMCPP 0
# define BOOST_CXX_MSVC 0
# define BOOST_CXX_PGI 0
# define BOOST_CXX_NVCC 0
// locate which compiler we are using and define
// BOOST_COMPILER_CONFIG as needed:
@@ -50,6 +25,10 @@
// Comeau C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4)
// PathScale EKOPath compiler (has to come before clang and gcc)
# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp"
#elif defined __clang__
// Clang C++ emulates GCC, so it has to appear early.
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"

View File

@@ -14,7 +14,11 @@
// First include <cstddef> to determine if some version of STLport is in use as the std lib
// (do not rely on this header being included since users can short-circuit this header
// if they know whose std lib they are using.)
#include <cstddef>
#ifdef __cplusplus
# include <cstddef>
#else
# include <stddef.h>
#endif
#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
// STLPort library; this _must_ come first, otherwise since
@@ -40,6 +44,10 @@
// Rogue Wave library:
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"
#elif defined(_LIBCPP_VERSION)
// libc++
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp"
#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
// GNU libstdc++ 3
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"

View File

@@ -87,7 +87,7 @@
#endif
#include <typeinfo>
#if !_HAS_EXCEPTIONS
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) )
# define BOOST_NO_STD_TYPEINFO
#endif
@@ -101,31 +101,27 @@
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_REGEX
# define BOOST_NO_0X_HDR_SYSTEM_ERROR
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_STD_UNORDERED // deprecated; see following
# define BOOST_NO_0X_HDR_UNORDERED_MAP
# define BOOST_NO_0X_HDR_UNORDERED_SET
# define BOOST_NO_0X_HDR_TUPLE
# define BOOST_NO_0X_HDR_TYPEINDEX
# define BOOST_NO_NUMERIC_LIMITS_LOWEST
#endif
#if !defined(_HAS_TR1_IMPORTS) && !defined(BOOST_NO_0X_HDR_TUPLE)
# define BOOST_NO_0X_HDR_TUPLE
#endif
// C++0x headers not yet implemented
//
// C++0x headers not yet (fully) implemented:
//
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RATIO
# define BOOST_NO_0X_HDR_THREAD
# define BOOST_NO_NUMERIC_LIMITS_LOWEST
#ifdef _CPPLIB_VER
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER

View File

@@ -38,14 +38,10 @@
# define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO

View File

@@ -0,0 +1,36 @@
// (C) Copyright Christopher Jefferson 2011.
// 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 for most recent version.
// config for libc++
// Might need more in here later.
#if !defined(_LIBCPP_VERSION)
# include <ciso646>
# if !defined(_LIBCPP_VERSION)
# error "This is not libc++!"
# endif
#endif
#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
#define BOOST_HAS_THREADS
#ifdef _LIBCPP_HAS_NO_VARIADICS
# define BOOST_NO_0X_HDR_TUPLE
#endif
//
// These appear to be unusable/incomplete so far:
//
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_TYPE_TRAITS
// libc++ uses a non-standard messages_base
#define BOOST_NO_STD_MESSAGES
// --- end ---

View File

@@ -9,6 +9,8 @@
// config for libstdc++ v3
// not much to go in here:
#define BOOST_GNU_STDLIB 1
#ifdef __GLIBCXX__
#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
#else
@@ -54,7 +56,6 @@
# define BOOST_HAS_THREADS
#endif
#if !defined(_GLIBCPP_USE_LONG_LONG) \
&& !defined(_GLIBCXX_USE_LONG_LONG)\
&& defined(BOOST_HAS_LONG_LONG)
@@ -63,6 +64,16 @@
# undef BOOST_HAS_LONG_LONG
#endif
// Apple doesn't seem to reliably defined a *unix* macro
#if !defined(CYGWIN) && ( defined(__unix__) \
|| defined(__unix) \
|| defined(unix) \
|| defined(__APPLE__) \
|| defined(__APPLE) \
|| defined(APPLE))
# include <unistd.h>
#endif
#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
# define BOOST_HAS_SLIST
@@ -93,10 +104,8 @@
//
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_REGEX
# define BOOST_NO_0X_HDR_TUPLE
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_STD_UNORDERED // deprecated; see following
# define BOOST_NO_0X_HDR_UNORDERED_MAP
# define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -112,23 +121,33 @@
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RATIO
# define BOOST_NO_0X_HDR_SYSTEM_ERROR
# define BOOST_NO_0X_HDR_THREAD
#else
# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
#endif
#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE) || !defined(BOOST_NO_0X_HDR_MUTEX))
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_MUTEX
#endif
// C++0x features in GCC 4.5.0 and later
//
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_NUMERIC_LIMITS_LOWEST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_RANDOM
#endif
// C++0x headers not yet implemented
// C++0x features in GCC 4.5.0 and later
//
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_0X_HDR_TYPEINDEX
#endif
// C++0x headers not yet (fully!) implemented
//
# define BOOST_NO_0X_HDR_THREAD
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_0X_HDR_CODECVT
// --- end ---

View File

@@ -27,14 +27,10 @@
# define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO

View File

@@ -51,14 +51,10 @@
# define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO

View File

@@ -10,6 +10,8 @@
// Rogue Wave std lib:
#define BOOST_RW_STDLIB 1
#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
# include <boost/config/no_tr1/utility.hpp>
# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
@@ -152,19 +154,20 @@
# endif
#endif
#if _RWSTD_VER < 0x05000000
# define BOOST_NO_0X_HDR_ARRAY
#endif
// type_traits header is incomplete:
# define BOOST_NO_0X_HDR_TYPE_TRAITS
//
// C++0x headers not yet implemented
//
# define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO
@@ -172,7 +175,6 @@
# define BOOST_NO_0X_HDR_SYSTEM_ERROR
# define BOOST_NO_0X_HDR_THREAD
# define BOOST_NO_0X_HDR_TUPLE
# define BOOST_NO_0X_HDR_TYPE_TRAITS
# define BOOST_NO_0X_HDR_TYPEINDEX
# define BOOST_NO_STD_UNORDERED // deprecated; see following
# define BOOST_NO_0X_HDR_UNORDERED_MAP

View File

@@ -40,6 +40,17 @@
# define BOOST_NO_STRINGSTREAM
#endif
// Apple doesn't seem to reliably defined a *unix* macro
#if !defined(CYGWIN) && ( defined(__unix__) \
|| defined(__unix) \
|| defined(unix) \
|| defined(__APPLE__) \
|| defined(__APPLE) \
|| defined(APPLE))
# include <unistd.h>
#endif
//
// Assume no std::locale without own iostreams (this may be an
// incorrect assumption in some cases):
@@ -110,14 +121,10 @@
# define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO

View File

@@ -16,6 +16,16 @@
# endif
#endif
// Apple doesn't seem to reliably defined a *unix* macro
#if !defined(CYGWIN) && ( defined(__unix__) \
|| defined(__unix) \
|| defined(unix) \
|| defined(__APPLE__) \
|| defined(__APPLE) \
|| defined(APPLE))
# include <unistd.h>
#endif
//
// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
// for versions prior to 4.1(beta)
@@ -205,14 +215,10 @@ namespace boost { using std::min; using std::max; }
# define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO

View File

@@ -12,19 +12,25 @@
#define BOOST_HAS_MACRO_USE_FACET
#define BOOST_NO_STD_MESSAGES
// Apple doesn't seem to reliably defined a *unix* macro
#if !defined(CYGWIN) && ( defined(__unix__) \
|| defined(__unix) \
|| defined(unix) \
|| defined(__APPLE__) \
|| defined(__APPLE) \
|| defined(APPLE))
# include <unistd.h>
#endif
// C++0x headers not yet implemented
//
# define BOOST_NO_0X_HDR_ARRAY
# define BOOST_NO_0X_HDR_CHRONO
# define BOOST_NO_0X_HDR_CODECVT
# define BOOST_NO_0X_HDR_CONCEPTS
# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
# define BOOST_NO_0X_HDR_FORWARD_LIST
# define BOOST_NO_0X_HDR_FUTURE
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
# define BOOST_NO_0X_HDR_MUTEX
# define BOOST_NO_0X_HDR_RANDOM
# define BOOST_NO_0X_HDR_RATIO

View File

@@ -341,6 +341,9 @@
#if defined(BOOST_NO_0X_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)
# define BOOST_NO_INITIALIZER_LISTS
#endif
#if defined(BOOST_NO_INITIALIZER_LISTS) && !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
#endif
//
// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_RVALUE_REFERENCES is not defined
@@ -349,6 +352,13 @@
#define BOOST_HAS_RVALUE_REFS
#endif
//
// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_VARIADIC_TEMPLATES is not defined
//
#if !defined(BOOST_NO_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
#define BOOST_HAS_VARIADIC_TMPL
#endif
// BOOST_HAS_ABI_HEADERS
// This macro gets set if we have headers that fix the ABI,
// and prevent ODR violations when linking to external libraries:
@@ -369,7 +379,7 @@
// works as expected with standard conforming compilers. The resulting
// double inclusion of <cstddef> is harmless.
# ifdef BOOST_NO_STDC_NAMESPACE
# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)
# include <cstddef>
namespace std { using ::ptrdiff_t; using ::size_t; }
# endif
@@ -388,7 +398,7 @@
// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------//
# ifdef BOOST_NO_STD_MIN_MAX
# if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus)
namespace std {
template <class _Tp>
@@ -499,7 +509,7 @@ namespace std {
// but it's use may generate either warnings (with -ansi), or errors
// (with -pedantic -ansi) unless it's use is prefixed by __extension__
//
#if defined(BOOST_HAS_LONG_LONG)
#if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus)
namespace boost{
# ifdef __GNUC__
__extension__ typedef long long long_long_type;
@@ -553,7 +563,7 @@ namespace boost{
//
#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
#if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) && defined(__cplusplus)
# include "boost/type.hpp"
# include "boost/non_type.hpp"
@@ -591,9 +601,9 @@ namespace boost{
// When BOOST_NO_STD_TYPEINFO is defined, we can just import
// the global definition into std namespace:
#ifdef BOOST_NO_STD_TYPEINFO
#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
#include <typeinfo>
namespace std{ using ::typeinfo; }
namespace std{ using ::type_info; }
#endif
// ---------------------------------------------------------------------------//
@@ -643,5 +653,19 @@ namespace std{ using ::typeinfo; }
# ifndef BOOST_GPU_ENABLED
# define BOOST_GPU_ENABLED
# endif
//
// constexpr workarounds
//
#if defined(BOOST_NO_CONSTEXPR)
#define BOOST_CONSTEXPR
#define BOOST_CONSTEXPR_OR_CONST const
#else
#define BOOST_CONSTEXPR constexpr
#define BOOST_CONSTEXPR_OR_CONST constexpr
#endif
#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
#endif

View File

@@ -23,7 +23,7 @@
// Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS:
// not even std library ones! Doing so may turn the warning
// off too late to be of any use. For example the VC++ C4996
// warning can be omitted from <iosfwd> if that header is included
// warning can be emitted from <iosfwd> if that header is included
// before or by this one :-(
//

View File

@@ -19,7 +19,7 @@
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 104500
#define BOOST_VERSION 104700
//
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
@@ -27,7 +27,7 @@
// number, y is the minor version number, and z is the patch level if not 0.
// This is used by <config/auto_link.hpp> to select which library version to link to.
#define BOOST_LIB_VERSION "1_45"
#define BOOST_LIB_VERSION "1_47"
#endif

View File

@@ -24,7 +24,8 @@ if $(is_unix)
}
test-suite config
:
:
[ compile config_test_c.c ]
[ run config_test.cpp
: #args
: #input-files

View File

@@ -1,7 +1,7 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Sat Sep 25 16:53:42 2010
# This file was automatically generated on Mon May 09 12:11:18 2011
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -31,9 +31,6 @@ test-suite "BOOST_HAS_BETHREADS" :
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 ] ;
@@ -184,15 +181,9 @@ test-suite "BOOST_NO_0X_HDR_CHRONO" :
test-suite "BOOST_NO_0X_HDR_CODECVT" :
[ run ../no_0x_hdr_codecvt_pass.cpp ]
[ compile-fail ../no_0x_hdr_codecvt_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_CONCEPTS" :
[ run ../no_0x_hdr_concepts_pass.cpp ]
[ compile-fail ../no_0x_hdr_concepts_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_CONDITION_VARIABLE" :
[ run ../no_0x_hdr_condition_variable_pass.cpp ]
[ compile-fail ../no_0x_hdr_condition_variable_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_CONTAINER_CONCEPTS" :
[ run ../no_0x_hdr_container_concepts_pass.cpp ]
[ compile-fail ../no_0x_hdr_container_concepts_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_FORWARD_LIST" :
[ run ../no_0x_hdr_forward_list_pass.cpp ]
[ compile-fail ../no_0x_hdr_forward_list_fail.cpp ] ;
@@ -202,12 +193,6 @@ test-suite "BOOST_NO_0X_HDR_FUTURE" :
test-suite "BOOST_NO_0X_HDR_INITIALIZER_LIST" :
[ run ../no_0x_hdr_initializer_list_pass.cpp ]
[ compile-fail ../no_0x_hdr_initializer_list_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_ITERATOR_CONCEPTS" :
[ run ../no_0x_hdr_iterator_concepts_pass.cpp ]
[ compile-fail ../no_0x_hdr_iterator_concepts_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_MEMORY_CONCEPTS" :
[ run ../no_0x_hdr_memory_concepts_pass.cpp ]
[ compile-fail ../no_0x_hdr_memory_concepts_fail.cpp ] ;
test-suite "BOOST_NO_0X_HDR_MUTEX" :
[ run ../no_0x_hdr_mutex_pass.cpp ]
[ compile-fail ../no_0x_hdr_mutex_fail.cpp ] ;
@@ -271,9 +256,6 @@ test-suite "BOOST_NO_CHAR32_T" :
test-suite "BOOST_NO_COMPLETE_VALUE_INITIALIZATION" :
[ run ../no_com_value_init_pass.cpp ]
[ compile-fail ../no_com_value_init_fail.cpp ] ;
test-suite "BOOST_NO_CONCEPTS" :
[ run ../no_concepts_pass.cpp ]
[ compile-fail ../no_concepts_fail.cpp ] ;
test-suite "BOOST_NO_CONSTEXPR" :
[ run ../no_constexpr_pass.cpp ]
[ compile-fail ../no_constexpr_fail.cpp ] ;
@@ -325,6 +307,9 @@ test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
test-suite "BOOST_NO_EXTERN_TEMPLATE" :
[ run ../no_extern_template_pass.cpp ]
[ compile-fail ../no_extern_template_fail.cpp ] ;
test-suite "BOOST_NO_FENV_H" :
[ run ../no_fenv_h_pass.cpp ]
[ compile-fail ../no_fenv_h_fail.cpp ] ;
test-suite "BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS" :
[ run ../no_function_template_default_args_pass.cpp ]
[ compile-fail ../no_function_template_default_args_fail.cpp ] ;
@@ -394,6 +379,9 @@ test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" :
test-suite "BOOST_NO_NESTED_FRIENDSHIP" :
[ run ../no_nested_friendship_pass.cpp ]
[ compile-fail ../no_nested_friendship_fail.cpp ] ;
test-suite "BOOST_NO_NOEXCEPT" :
[ run ../no_noexcept_pass.cpp ]
[ compile-fail ../no_noexcept_fail.cpp ] ;
test-suite "BOOST_NO_NULLPTR" :
[ run ../no_nullptr_pass.cpp ]
[ compile-fail ../no_nullptr_fail.cpp ] ;
@@ -505,6 +493,9 @@ test-suite "BOOST_NO_TYPENAME_WITH_CTOR" :
test-suite "BOOST_NO_UNICODE_LITERALS" :
[ run ../no_unicode_literals_pass.cpp ]
[ compile-fail ../no_unicode_literals_fail.cpp ] ;
test-suite "BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX" :
[ run ../no_unified_init_pass.cpp ]
[ compile-fail ../no_unified_init_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 ] ;

View File

@@ -1,23 +0,0 @@
// Copyright (C) 2007 Douglas Gregor
// 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_HAS_CONCEPTS
// TITLE: concepts
// DESCRIPTION: The compiler supports C++0x concepts
namespace boost_has_concepts {
concept C<typename T> { }
concept_map C<int> { }
int test()
{
return 0;
}
}

View File

@@ -16,7 +16,8 @@ namespace boost_no_0x_hdr_array {
int test()
{
return 0;
std::array<int, 3> a = { 1, 2, 3 };
return a.size() == 3 ? 0 : 1;
}
}

View File

@@ -16,6 +16,15 @@ namespace boost_no_0x_hdr_chrono {
int test()
{
using std::chrono::nanoseconds;
using std::chrono::microseconds;
using std::chrono::milliseconds;
using std::chrono::seconds;
using std::chrono::minutes;
using std::chrono::hours;
using std::chrono::system_clock;
using std::chrono::monotonic_clock;
using std::chrono::high_resolution_clock;
return 0;
}

View File

@@ -16,6 +16,9 @@ namespace boost_no_0x_hdr_codecvt {
int test()
{
using std::codecvt_utf8;
using std::codecvt_utf16;
using std::codecvt_utf8_utf16;
return 0;
}

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_0X_HDR_CONCEPTS
// TITLE: C++0x header <concepts> unavailable
// DESCRIPTION: The standard library does not supply C++0x header <concepts>
#include <concepts>
namespace boost_no_0x_hdr_concepts {
int test()
{
return 0;
}
}

View File

@@ -16,6 +16,8 @@ namespace boost_no_0x_hdr_condition_variable {
int test()
{
using std::condition_variable;
using std::condition_variable_any;
return 0;
}

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
// TITLE: C++0x header <container_concepts> unavailable
// DESCRIPTION: The standard library does not supply C++0x header <container_concepts>
#include <container_concepts>
namespace boost_no_0x_hdr_container_concepts {
int test()
{
return 0;
}
}

View File

@@ -16,7 +16,8 @@ namespace boost_no_0x_hdr_forward_list {
int test()
{
return 0;
std::forward_list<int> l(2u, 2);
return *l.begin() == 2 ? 0 : 1;
}
}

View File

@@ -16,6 +16,19 @@ namespace boost_no_0x_hdr_future {
int test()
{
using std::is_error_code_enum;
using std::make_error_code;
using std::make_error_condition;
using std::future_category;
using std::future_error;
using std::promise;
using std::promise;
using std::promise;
using std::future;
using std::shared_future;
using std::atomic_future;
using std::packaged_task; // undefined
using std::async;
return 0;
}

View File

@@ -14,8 +14,13 @@
namespace boost_no_0x_hdr_initializer_list {
void foo(const std::initializer_list<const char*>& l)
{
}
int test()
{
foo( { "a", "b", "c" } );
return 0;
}

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
// TITLE: C++0x header <iterator_concepts> unavailable
// DESCRIPTION: The standard library does not supply C++0x header <iterator_concepts>
#include <iterator_concepts>
namespace boost_no_0x_hdr_iterator_concepts {
int test()
{
return 0;
}
}

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_0X_HDR_MEMORY_CONCEPTS
// TITLE: C++0x header <memory_concepts> unavailable
// DESCRIPTION: The standard library does not supply C++0x header <memory_concepts>
#include <memory_concepts>
namespace boost_no_0x_hdr_memory_concepts {
int test()
{
return 0;
}
}

View File

@@ -16,6 +16,10 @@ namespace boost_no_0x_hdr_mutex {
int test()
{
using std::mutex;
using std::recursive_mutex;
using std::timed_mutex;
using std::recursive_timed_mutex;
return 0;
}

View File

@@ -16,6 +16,15 @@ namespace boost_no_0x_hdr_random {
int test()
{
using std::minstd_rand0;
using std::mt19937;
using std::mt19937_64;
using std::ranlux24_base;
using std::ranlux48_base;
using std::ranlux24;
using std::ranlux48;
using std::knuth_b;
using std::default_random_engine;
return 0;
}

View File

@@ -16,6 +16,21 @@ namespace boost_no_0x_hdr_ratio {
int test()
{
using std::atto;
using std::femto;
using std::pico;
using std::nano;
using std::micro;
using std::milli;
using std::centi;
using std::deci;
using std::deca;
using std::hecto;
using std::kilo;
using std::mega;
using std::tera;
using std::peta;
using std::exa;
return 0;
}

View File

@@ -16,6 +16,8 @@ namespace boost_no_0x_hdr_regex {
int test()
{
using std::regex;
using std::wregex;
return 0;
}

View File

@@ -16,6 +16,10 @@ namespace boost_no_0x_hdr_system_error {
int test()
{
using std::error_category;
using std::error_code;
using std::error_condition;
using std::system_error;
return 0;
}

View File

@@ -16,6 +16,11 @@ namespace boost_no_0x_hdr_thread {
int test()
{
using std::thread;
using std::this_thread::get_id;
using std::this_thread::yield;
using std::this_thread::sleep_until;
using std::this_thread::sleep_for;
return 0;
}

View File

@@ -16,6 +16,90 @@ namespace boost_no_0x_hdr_type_traits {
int test()
{
using std::integral_constant;
using std::true_type;
using std::false_type;
using std::is_void;
using std::is_integral;
using std::is_floating_point;
using std::is_array;
using std::is_pointer;
using std::is_lvalue_reference;
using std::is_rvalue_reference;
using std::is_member_object_pointer;
using std::is_member_function_pointer;
using std::is_enum;
using std::is_union;
using std::is_class;
using std::is_function;
using std::is_reference;
using std::is_arithmetic;
using std::is_fundamental;
using std::is_object;
using std::is_scalar;
using std::is_compound;
using std::is_member_pointer;
using std::is_const;
using std::is_volatile;
using std::is_trivial;
using std::is_trivially_copyable;
using std::is_standard_layout;
using std::is_pod;
using std::is_literal_type;
using std::is_empty;
using std::is_polymorphic;
using std::is_abstract;
using std::is_constructible;
using std::is_nothrow_constructible;
using std::has_default_constructor;
using std::has_copy_constructor;
using std::has_copy_assign;
using std::has_move_constructor;
using std::has_move_assign;
using std::has_trivial_default_constructor;
using std::has_trivial_copy_constructor;
using std::has_trivial_move_constructor;
using std::has_trivial_copy_assign;
using std::has_trivial_move_assign;
using std::has_trivial_destructor;
using std::has_nothrow_default_constructor;
using std::has_nothrow_copy_constructor;
using std::has_nothrow_move_constructor;
using std::has_nothrow_copy_assign;
using std::has_nothrow_move_assign;
using std::has_virtual_destructor;
using std::is_signed;
using std::is_unsigned;
using std::alignment_of;
using std::rank;
using std::extent;
using std::is_same;
using std::is_base_of;
using std::is_convertible;
using std::is_explicitly_convertible;
using std::remove_const;
using std::remove_volatile;
using std::remove_cv;
using std::add_const;
using std::add_volatile;
using std::add_cv;
using std::remove_reference;
using std::add_lvalue_reference;
using std::add_rvalue_reference;
using std::make_signed;
using std::make_unsigned;
using std::remove_extent;
using std::remove_all_extents;
using std::remove_pointer;
using std::add_pointer;
using std::aligned_storage;
using std::aligned_union;
using std::decay;
using std::enable_if;
using std::conditional;
using std::common_type;
using std::underlying_type;
using std::result_of;
return 0;
}

View File

@@ -16,7 +16,9 @@ namespace boost_no_0x_hdr_unordered_map {
int test()
{
return 0;
std::unordered_map<int, long> s1;
std::unordered_multimap<int, long> s2;
return s1.empty() && s2.empty() ? 0 : 1;
}
}

View File

@@ -16,7 +16,9 @@ namespace boost_no_0x_hdr_unordered_set {
int test()
{
return 0;
std::unordered_set<int> s1;
std::unordered_multiset<int> s2;
return s1.empty() && s2.empty() ? 0 : 1;
}
}

View File

@@ -1,22 +0,0 @@
// (C) Copyright Beman Dawes 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_CONCEPTS
// TITLE: C++0x concepts feature unavailable
// DESCRIPTION: The compiler does not support the C++0x concepts feature
namespace boost_no_concepts {
concept Foo<typename T> { }
int test()
{
return 0;
}
}

View File

@@ -14,6 +14,26 @@ namespace boost_no_constexpr {
constexpr int square(int x) { return x * x; } // from N2235
// from 5.19:
constexpr const int* addr(const int& ir) { return &ir; }
static const int x = 5;
constexpr const int* xp = addr(x);
struct A
{
constexpr A(int i) : val(i) { }
constexpr operator int() { return val; }
constexpr operator long() { return 43; }
private:
int val;
};
template<int> struct X { };
constexpr A a = 42;
X<a> xx; // OK: unique conversion to int
int test()
{
int i = square(5);

View File

@@ -10,6 +10,10 @@
// TITLE: C++0x defaulted functions unavailable
// DESCRIPTION: The compiler does not support C++0x defaulted functions
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
# error Defaulted functions aren't really supported in non-C++0x mode
#endif
namespace boost_no_defaulted_functions {
struct foo {

View File

@@ -10,6 +10,10 @@
// TITLE: C++0x =delete functions unavailable
// DESCRIPTION: The compiler does not support C++0x =delete functions
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
# error Deleted functions aren't really supported in non-C++0x mode
#endif
namespace boost_no_deleted_functions {
struct foo {

View File

@@ -10,6 +10,10 @@
// TITLE: C++0x explicit conversion operators unavailable
// DESCRIPTION: The compiler does not support C++0x explicit conversion operators
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
# error This feature isn't really available in non-C++0x mode
#endif
namespace boost_no_explicit_conversion_operators {
struct foo {

58
test/boost_no_fenv_h.ipp Normal file
View File

@@ -0,0 +1,58 @@
// (C) Copyright John Maddock 2001.
// (C) Copyright Bryce Lelbach 2010.
// 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_FENV_H
// TITLE: fenv.h
// DESCRIPTION: There is no standard <fenv.h> available. If <fenv.h> is
// available, <boost/detail/fenv.hpp> should be included
// instead of directly including <fenv.h>.
#include <fenv.h>
namespace boost_no_fenv_h {
int test()
{
/// C++0x required typedefs
typedef ::fenv_t has_fenv_t;
typedef ::fexcept_t has_fexcept_t;
/// C++0x required macros
#if !defined(FE_DIVBYZERO)
#error platform does not define FE_DIVBYZERO
#endif
#if !defined(FE_INEXACT)
#error platform does not define FE_INEXACT
#endif
#if !defined(FE_ALL_EXCEPT)
#error platform does not define FE_ALL_EXCEPT
#endif
int i;
fexcept_t fe;
fenv_t env;
i = feclearexcept(FE_ALL_EXCEPT);
i += fetestexcept(FE_ALL_EXCEPT); // All flags should be zero
i += fegetexceptflag(&fe, FE_ALL_EXCEPT);
i += fesetexceptflag(&fe, FE_ALL_EXCEPT);
i += feraiseexcept(0);
i += fesetround(fegetround());
i += fegetenv(&env);
i += fesetenv(&env);
i += feholdexcept(&env);
if(i)
i += feupdateenv(&env);
return i;
}
}

View File

@@ -12,6 +12,7 @@
#include <initializer_list>
#include <vector>
#include <string>
namespace boost_no_initializer_lists {

View File

@@ -10,6 +10,10 @@
// TITLE: C++0x lambda feature unavailable
// DESCRIPTION: The compiler does not support the C++0x lambda feature
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
# error This feature isn't really available in non-C++0x mode
#endif
namespace boost_no_lambdas {
int test()

View File

@@ -0,0 +1,23 @@
// Copyright (C) 2011 Takaya Saito
// 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_NOEXCEPT
// TITLE: C++0x noexcept unavailable
// DESCRIPTION: The compiler does not support C++0x noexcept
namespace boost_no_noexcept {
int f() noexcept ;
int g() noexcept( noexcept( f() ) ) ;
int test()
{
bool b = noexcept( g() );
return 0;
}
}

View File

@@ -15,7 +15,14 @@ namespace boost_no_scoped_enums {
int test()
{
enum class scoped_enum { yes, no, maybe };
return 0;
// This tests bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
bool b = (scoped_enum::yes == scoped_enum::yes)
&& (scoped_enum::yes != scoped_enum::no)
&& (scoped_enum::yes < scoped_enum::no)
&& (scoped_enum::yes <= scoped_enum::no)
&& (scoped_enum::no > scoped_enum::yes)
&& (scoped_enum::no >= scoped_enum::yes);
return b ? 0 : 1;
}
}

View File

@@ -0,0 +1,53 @@
// Copyright (C) 2011 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
// TITLE: C++0x unified initialization syntax unavailable
// DESCRIPTION: The compiler does not support C++0x unified initialization syntax: see http://en.wikipedia.org/wiki/C%2B%2B0x#Uniform_initialization
namespace boost_no_unified_initialization_syntax {
struct BasicStruct
{
int x;
double y;
};
struct AltStruct
{
public:
AltStruct(int x, double y) : x_{x}, y_{y} {}
private:
int x_;
double y_;
};
struct IdString
{
std::string name;
int identifier;
bool operator == (const IdString& other)
{
return identifier == other.identifier && name == other.name;
}
};
IdString get_string()
{
return {"SomeName", 4}; //Note the lack of explicit type.
}
int test()
{
BasicStruct var1{5, 3.2};
AltStruct var2{2, 4.3};
IdString id{"SomeName", 4};
return id == get_string() ? 0 : 1;
}
}

View File

@@ -27,6 +27,10 @@
#include <unistd.h>
#endif
#if defined(__MINGW32__)
# include <_mingw.h>
#endif
static unsigned int indent = 4;
static unsigned int width = 40;
@@ -794,6 +798,8 @@ void print_platform_macros()
PRINT_MACRO(_THREAD_SAFE);
PRINT_MACRO(_XOPEN_SOURCE_EXTENDED);
PRINT_MACRO(XPG);
PRINT_MACRO(__MINGW32_MAJOR_VERSION);
PRINT_MACRO(__MINGW32_MINOR_VERSION);
// POSIX:
PRINT_MACRO(_POSIX_ADVISORY_INFO);
PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO);
@@ -900,6 +906,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_DISABLE_THREADS);
PRINT_MACRO(BOOST_DISABLE_WIN32);
PRINT_MACRO(BOOST_HAS_THREADS);
PRINT_MACRO(BOOST_WINDOWS);
// BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!!
PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG);
@@ -907,7 +914,6 @@ void print_boost_macros()
PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL);
PRINT_MACRO(BOOST_HAS_BETHREADS);
PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
PRINT_MACRO(BOOST_HAS_CONCEPTS);
PRINT_MACRO(BOOST_HAS_DIRENT_H);
PRINT_MACRO(BOOST_HAS_EXPM1);
PRINT_MACRO(BOOST_HAS_FTIME);
@@ -959,14 +965,10 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_0X_HDR_ARRAY);
PRINT_MACRO(BOOST_NO_0X_HDR_CHRONO);
PRINT_MACRO(BOOST_NO_0X_HDR_CODECVT);
PRINT_MACRO(BOOST_NO_0X_HDR_CONCEPTS);
PRINT_MACRO(BOOST_NO_0X_HDR_CONDITION_VARIABLE);
PRINT_MACRO(BOOST_NO_0X_HDR_CONTAINER_CONCEPTS);
PRINT_MACRO(BOOST_NO_0X_HDR_FORWARD_LIST);
PRINT_MACRO(BOOST_NO_0X_HDR_FUTURE);
PRINT_MACRO(BOOST_NO_0X_HDR_INITIALIZER_LIST);
PRINT_MACRO(BOOST_NO_0X_HDR_ITERATOR_CONCEPTS);
PRINT_MACRO(BOOST_NO_0X_HDR_MEMORY_CONCEPTS);
PRINT_MACRO(BOOST_NO_0X_HDR_MUTEX);
PRINT_MACRO(BOOST_NO_0X_HDR_RANDOM);
PRINT_MACRO(BOOST_NO_0X_HDR_RATIO);
@@ -987,7 +989,6 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CHAR16_T);
PRINT_MACRO(BOOST_NO_CHAR32_T);
PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION);
PRINT_MACRO(BOOST_NO_CONCEPTS);
PRINT_MACRO(BOOST_NO_CONSTEXPR);
PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS);
PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS);
@@ -1004,6 +1005,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS);
PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS);
PRINT_MACRO(BOOST_NO_EXTERN_TEMPLATE);
PRINT_MACRO(BOOST_NO_FENV_H);
PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS);
PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING);
PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS);
@@ -1025,6 +1027,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD);
PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_NESTED_FRIENDSHIP);
PRINT_MACRO(BOOST_NO_NOEXCEPT);
PRINT_MACRO(BOOST_NO_NULLPTR);
PRINT_MACRO(BOOST_NO_NUMERIC_LIMITS_LOWEST);
PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE);
@@ -1064,6 +1067,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_TYPEID);
PRINT_MACRO(BOOST_NO_TYPENAME_WITH_CTOR);
PRINT_MACRO(BOOST_NO_UNICODE_LITERALS);
PRINT_MACRO(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX);
PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION);
PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE);
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
@@ -1075,26 +1079,15 @@ void print_boost_macros()
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);
PRINT_MACRO(BOOST_MSVC);
PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
PRINT_MACRO(BOOST_CONSTEXPR);
PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST);
PRINT_MACRO(BOOST_STATIC_CONSTEXPR);
}
void print_separator()

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Sat Sep 25 16:53:42 2010
// This file was automatically generated on Mon May 09 12:11:18 2011
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -37,21 +37,11 @@ namespace boost_no_0x_hdr_chrono = empty_boost;
#else
namespace boost_no_0x_hdr_codecvt = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_CONCEPTS
#include "boost_no_0x_hdr_concepts.ipp"
#else
namespace boost_no_0x_hdr_concepts = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_CONDITION_VARIABLE
#include "boost_no_0x_hdr_condition_variable.ipp"
#else
namespace boost_no_0x_hdr_condition_variable = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
#include "boost_no_0x_hdr_container_concepts.ipp"
#else
namespace boost_no_0x_hdr_container_concepts = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_FORWARD_LIST
#include "boost_no_0x_hdr_forward_list.ipp"
#else
@@ -67,16 +57,6 @@ namespace boost_no_0x_hdr_future = empty_boost;
#else
namespace boost_no_0x_hdr_initializer_list = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
#include "boost_no_0x_hdr_iterator_concepts.ipp"
#else
namespace boost_no_0x_hdr_iterator_concepts = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_MEMORY_CONCEPTS
#include "boost_no_0x_hdr_memory_concepts.ipp"
#else
namespace boost_no_0x_hdr_memory_concepts = empty_boost;
#endif
#ifndef BOOST_NO_0X_HDR_MUTEX
#include "boost_no_0x_hdr_mutex.ipp"
#else
@@ -182,11 +162,6 @@ namespace boost_no_char32_t = empty_boost;
#else
namespace boost_no_complete_value_initialization = empty_boost;
#endif
#ifndef BOOST_NO_CONCEPTS
#include "boost_no_concepts.ipp"
#else
namespace boost_no_concepts = empty_boost;
#endif
#ifndef BOOST_NO_CONSTEXPR
#include "boost_no_constexpr.ipp"
#else
@@ -272,6 +247,11 @@ namespace boost_no_explicit_function_template_arguments = empty_boost;
#else
namespace boost_no_extern_template = empty_boost;
#endif
#ifndef BOOST_NO_FENV_H
#include "boost_no_fenv_h.ipp"
#else
namespace boost_no_fenv_h = empty_boost;
#endif
#ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
#include "boost_no_function_template_default_args.ipp"
#else
@@ -387,6 +367,11 @@ namespace boost_no_pointer_to_member_template_parameters = empty_boost;
#else
namespace boost_no_nested_friendship = empty_boost;
#endif
#ifndef BOOST_NO_NOEXCEPT
#include "boost_no_noexcept.ipp"
#else
namespace boost_no_noexcept = empty_boost;
#endif
#ifndef BOOST_NO_NULLPTR
#include "boost_no_nullptr.ipp"
#else
@@ -572,6 +557,11 @@ namespace boost_no_typename_with_ctor = empty_boost;
#else
namespace boost_no_unicode_literals = empty_boost;
#endif
#ifndef BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#include "boost_no_unified_init.ipp"
#else
namespace boost_no_unified_initialization_syntax = empty_boost;
#endif
#ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#include "boost_no_using_breaks_adl.ipp"
#else
@@ -623,11 +613,6 @@ namespace boost_has_bethreads = empty_boost;
#else
namespace boost_has_clock_gettime = empty_boost;
#endif
#ifdef BOOST_HAS_CONCEPTS
#include "boost_has_concepts.ipp"
#else
namespace boost_has_concepts = empty_boost;
#endif
#ifdef BOOST_HAS_DIRENT_H
#include "boost_has_dirent_h.ipp"
#else
@@ -881,11 +866,6 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_has_concepts::test())
{
std::cerr << "Failed test for BOOST_HAS_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_has_dirent_h::test())
{
std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1136,21 +1116,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_0X_HDR_CODECVT at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_condition_variable::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_CONDITION_VARIABLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_container_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_CONTAINER_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_forward_list::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_FORWARD_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1166,16 +1136,6 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_0X_HDR_INITIALIZER_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_iterator_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_ITERATOR_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_memory_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_MEMORY_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_0x_hdr_mutex::test())
{
std::cerr << "Failed test for BOOST_NO_0X_HDR_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1281,11 +1241,6 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_concepts::test())
{
std::cerr << "Failed test for BOOST_NO_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_constexpr::test())
{
std::cerr << "Failed test for BOOST_NO_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1371,6 +1326,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_fenv_h::test())
{
std::cerr << "Failed test for BOOST_NO_FENV_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_function_template_default_args::test())
{
std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1486,6 +1446,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_NESTED_FRIENDSHIP at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_noexcept::test())
{
std::cerr << "Failed test for BOOST_NO_NOEXCEPT at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_nullptr::test())
{
std::cerr << "Failed test for BOOST_NO_NULLPTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1671,6 +1636,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_UNICODE_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_unified_initialization_syntax::test())
{
std::cerr << "Failed test for BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_function_scope_using_declaration_breaks_adl::test())
{
std::cerr << "Failed test for BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL at: " << __FILE__ << ":" << __LINE__ << std::endl;

9
test/config_test_c.c Normal file
View File

@@ -0,0 +1,9 @@
#include <boost/config.hpp>
int main()
{
return 0;
}

View File

@@ -181,7 +181,8 @@ bool is_same_type(T, U)
// the floating point types or not:
//
namespace std{
#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300)
#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300) && \
!defined(_LIBCPP_VERSION)
template <class T>
char abs(T)
{

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_CONCEPTS
// This file should not compile, if it does then
// BOOST_NO_0X_HDR_CONCEPTS should not be defined.
// See file boost_no_0x_hdr_concepts.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_0X_HDR_CONCEPTS
#include "boost_no_0x_hdr_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_CONCEPTS
// This file should compile, if it does not then
// BOOST_NO_0X_HDR_CONCEPTS should be defined.
// See file boost_no_0x_hdr_concepts.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_0X_HDR_CONCEPTS
#include "boost_no_0x_hdr_concepts.ipp"
#else
namespace boost_no_0x_hdr_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
// This file should compile, if it does not then
// BOOST_NO_0X_HDR_CONTAINER_CONCEPTS should be defined.
// See file boost_no_0x_hdr_container_concepts.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_0X_HDR_CONTAINER_CONCEPTS
#include "boost_no_0x_hdr_container_concepts.ipp"
#else
namespace boost_no_0x_hdr_container_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_container_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
// This file should not compile, if it does then
// BOOST_NO_0X_HDR_ITERATOR_CONCEPTS should not be defined.
// See file boost_no_0x_hdr_iterator_concepts.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_0X_HDR_ITERATOR_CONCEPTS
#include "boost_no_0x_hdr_iterator_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_iterator_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
// This file should compile, if it does not then
// BOOST_NO_0X_HDR_ITERATOR_CONCEPTS should be defined.
// See file boost_no_0x_hdr_iterator_concepts.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_0X_HDR_ITERATOR_CONCEPTS
#include "boost_no_0x_hdr_iterator_concepts.ipp"
#else
namespace boost_no_0x_hdr_iterator_concepts = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_iterator_concepts::test();
}

View File

@@ -1,37 +0,0 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_0X_HDR_MEMORY_CONCEPTS
// This file should not compile, if it does then
// BOOST_NO_0X_HDR_MEMORY_CONCEPTS should not be defined.
// See file boost_no_0x_hdr_memory_concepts.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_0X_HDR_MEMORY_CONCEPTS
#include "boost_no_0x_hdr_memory_concepts.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_memory_concepts::test();
}

View File

@@ -1,5 +1,4 @@
// This file was automatically generated on Sat Aug 25 12:32:20 2007
// by libs/config/tools/generate.cpp
// Copyright Bryce Lelbach 2010.
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
@@ -7,10 +6,10 @@
// See http://www.boost.org/libs/config for the most recent version.
// Test file for macro BOOST_HAS_CONCEPTS
// Test file for macro BOOST_NO_FENV_H
// This file should not compile, if it does then
// BOOST_HAS_CONCEPTS should be defined.
// See file boost_has_concepts.ipp for details
// BOOST_NO_FENV_H should not be defined.
// See file boost_no_fenv_h.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -21,14 +20,14 @@
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_CONCEPTS
#include "boost_has_concepts.ipp"
#ifdef BOOST_NO_FENV_H
#include "boost_no_fenv_h.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_has_concepts::test();
return boost_no_fenv_h::test();
}

View File

@@ -1,5 +1,4 @@
// This file was automatically generated on Sat Aug 25 12:32:20 2007
// by libs/config/tools/generate.cpp
// Copyright Bryce Lelbach 2010.
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
@@ -7,10 +6,10 @@
// See http://www.boost.org/libs/config for the most recent version.
// Test file for macro BOOST_HAS_CONCEPTS
// Test file for macro BOOST_NO_FENV_H
// This file should compile, if it does not then
// BOOST_HAS_CONCEPTS should not be defined.
// See file boost_has_concepts.ipp for details
// BOOST_NO_FENV_H should be defined.
// See file boost_no_fenv_h.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -21,14 +20,14 @@
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_CONCEPTS
#include "boost_has_concepts.ipp"
#ifndef BOOST_NO_FENV_H
#include "boost_no_fenv_h.ipp"
#else
namespace boost_has_concepts = empty_boost;
namespace boost_no_fenv_h = empty_boost;
#endif
int main( int, char *[] )
{
return boost_has_concepts::test();
return boost_no_fenv_h::test();
}

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// This file was automatically generated on Thu May 5 04:40:08 2011
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -10,10 +10,10 @@
//
// Test file for macro BOOST_NO_CONCEPTS
// Test file for macro BOOST_NO_NOEXCEPT
// This file should not compile, if it does then
// BOOST_NO_CONCEPTS should not be defined.
// See file boost_no_concepts.ipp for details
// BOOST_NO_NOEXCEPT should not be defined.
// See file boost_no_noexcept.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -24,14 +24,14 @@
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_CONCEPTS
#include "boost_no_concepts.ipp"
#ifdef BOOST_NO_NOEXCEPT
#include "boost_no_noexcept.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_concepts::test();
return boost_no_noexcept::test();
}

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// This file was automatically generated on Thu May 5 04:40:08 2011
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -10,10 +10,10 @@
//
// Test file for macro BOOST_NO_CONCEPTS
// Test file for macro BOOST_NO_NOEXCEPT
// This file should compile, if it does not then
// BOOST_NO_CONCEPTS should be defined.
// See file boost_no_concepts.ipp for details
// BOOST_NO_NOEXCEPT should be defined.
// See file boost_no_noexcept.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -24,14 +24,14 @@
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_CONCEPTS
#include "boost_no_concepts.ipp"
#ifndef BOOST_NO_NOEXCEPT
#include "boost_no_noexcept.ipp"
#else
namespace boost_no_concepts = empty_boost;
namespace boost_no_noexcept = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_concepts::test();
return boost_no_noexcept::test();
}

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// This file was automatically generated on Mon May 09 12:11:17 2011
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -6,14 +6,14 @@
// 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$
// Revision $Id: generate.cpp 70001 2011-03-15 13:17:46Z johnmaddock $
//
// Test file for macro BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
// Test file for macro BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
// This file should not compile, if it does then
// BOOST_NO_0X_HDR_CONTAINER_CONCEPTS should not be defined.
// See file boost_no_0x_hdr_container_concepts.ipp for details
// BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX should not be defined.
// See file boost_no_unified_init.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -24,14 +24,14 @@
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
#include "boost_no_0x_hdr_container_concepts.ipp"
#ifdef BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#include "boost_no_unified_init.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_container_concepts::test();
return boost_no_unified_initialization_syntax::test();
}

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Fri May 15 11:57:42 2009
// This file was automatically generated on Mon May 09 12:11:17 2011
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -6,14 +6,14 @@
// 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$
// Revision $Id: generate.cpp 70001 2011-03-15 13:17:46Z johnmaddock $
//
// Test file for macro BOOST_NO_0X_HDR_MEMORY_CONCEPTS
// Test file for macro BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
// This file should compile, if it does not then
// BOOST_NO_0X_HDR_MEMORY_CONCEPTS should be defined.
// See file boost_no_0x_hdr_memory_concepts.ipp for details
// BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX should be defined.
// See file boost_no_unified_init.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -24,14 +24,14 @@
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_0X_HDR_MEMORY_CONCEPTS
#include "boost_no_0x_hdr_memory_concepts.ipp"
#ifndef BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
#include "boost_no_unified_init.ipp"
#else
namespace boost_no_0x_hdr_memory_concepts = empty_boost;
namespace boost_no_unified_initialization_syntax = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_0x_hdr_memory_concepts::test();
return boost_no_unified_initialization_syntax::test();
}

View File

@@ -124,7 +124,7 @@ void write_test_file(const fs::path& file,
{
if(!fs::exists(file))
{
std::cout << "Writing test file " << file.native_directory_string() << std::endl;
std::cout << "Writing test file " << file.string() << std::endl;
fs::ofstream ofs(file);
std::time_t t = std::time(0);
@@ -180,13 +180,13 @@ void write_test_file(const fs::path& file,
}
else
{
std::cout << "Skipping existing test file " << file.native_directory_string() << std::endl;
std::cout << "Skipping existing test file " << file.string() << std::endl;
}
}
void process_ipp_file(const fs::path& file, bool positive_test)
{
std::cout << "Info: Scanning file: " << file.native_directory_string() << std::endl;
std::cout << "Info: Scanning file: " << file.string() << std::endl;
// our variables:
std::string file_text;
@@ -210,7 +210,7 @@ void process_ipp_file(const fs::path& file, bool positive_test)
}
if(macro_name.empty())
{
std::cout << "Error: no macro definition found in " << file.native_directory_string();
std::cout << "Error: no macro definition found in " << file.string();
}
else
{
@@ -219,10 +219,10 @@ void process_ipp_file(const fs::path& file, bool positive_test)
// get the output filesnames:
boost::regex file_regex("boost_([^.]+)\\.ipp");
positive_file = file.branch_path() / boost::regex_replace(file.leaf(), file_regex, "$1_pass.cpp");
negative_file = file.branch_path() / boost::regex_replace(file.leaf(), file_regex, "$1_fail.cpp");
write_test_file(positive_file, macro_name, namespace_name, file.leaf(), positive_test, true);
write_test_file(negative_file, macro_name, namespace_name, file.leaf(), positive_test, false);
positive_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_pass.cpp");
negative_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_fail.cpp");
write_test_file(positive_file, macro_name, namespace_name, file.leaf().string(), positive_test, true);
write_test_file(negative_file, macro_name, namespace_name, file.leaf().string(), positive_test, false);
// always create config_test data,
// positive and negative tests go to separate streams, because for some
@@ -232,7 +232,7 @@ void process_ipp_file(const fs::path& file, bool positive_test)
if(!positive_test)
*pout << "n";
*pout << "def " << macro_name
<< "\n#include \"" << file.leaf() << "\"\n#else\nnamespace "
<< "\n#include \"" << file.leaf().string() << "\"\n#else\nnamespace "
<< namespace_name << " = empty_boost;\n#endif\n";
config_test2 << " if(0 != " << namespace_name << "::test())\n"
@@ -243,12 +243,12 @@ void process_ipp_file(const fs::path& file, bool positive_test)
// always generate the jamfile data:
jamfile << "test-suite \"" << macro_name << "\" : \n"
"[ run " << positive_file.leaf() << " <template>config_options ]\n"
"[ compile-fail " << negative_file.leaf() << " <template>config_options ] ;\n";
"[ run " << positive_file.leaf().string() << " <template>config_options ]\n"
"[ compile-fail " << negative_file.leaf().string() << " <template>config_options ] ;\n";
jamfile_v2 << "test-suite \"" << macro_name << "\" : \n"
"[ run ../" << positive_file.leaf() << " ]\n"
"[ compile-fail ../" << negative_file.leaf() << " ] ;\n";
"[ run ../" << positive_file.leaf().string() << " ]\n"
"[ compile-fail ../" << negative_file.leaf().string() << " ] ;\n";
}
@@ -268,7 +268,7 @@ int cpp_main(int argc, char* argv[])
fs::path p(__FILE__, fs::native);
config_path = p.branch_path().branch_path() / "test";
}
std::cout << "Info: Boost.Config test path set as: " << config_path.native_directory_string() << std::endl;
std::cout << "Info: Boost.Config test path set as: " << config_path.string() << std::endl;
// enumerate *.ipp files:
boost::regex ipp_mask("boost_(?:(has)|no).*\\.ipp");
@@ -276,7 +276,7 @@ int cpp_main(int argc, char* argv[])
fs::directory_iterator i(config_path), j;
while(i != j)
{
if(boost::regex_match(i->path().leaf(), ipp_match, ipp_mask))
if(boost::regex_match(i->path().leaf().string(), ipp_match, ipp_mask))
{
process_ipp_file(*i, ipp_match[1].matched);
}