Merge branch 'develop' of github.com:boostorg/config into develop

This commit is contained in:
Beman
2014-09-03 11:16:21 -04:00
39 changed files with 3905 additions and 3359 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1663,6 +1663,29 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_PRAGMA_DETECT_MISMATCH</span></code>
</p>
</td>
<td>
<p>
Compiler
</p>
</td>
<td>
<p>
The compiler recognizes the <code class="computeroutput"><span class="preprocessor">#pragma</span>
<span class="identifier">detect_mismatch</span><span class="special">(</span><span class="string">"name"</span><span class="special">,</span>
<span class="string">"value"</span><span class="special">)</span></code>
directive which tells that the link stage should be terminated
with error if values for provided <code class="computeroutput"><span class="string">"name"</span></code>
missmatch. This pragma may be a help in preventing ODR violations
and ensuring that different modules are compiled with same flags.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_DELAY_NP</span></code> <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_DELAY_NP</span></code>
@@ -2427,6 +2450,190 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_DECLARATIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type deduction for variables declared
with the <code class="computeroutput"><span class="keyword">auto</span></code> keyword
(<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
<span class="special">=</span> <span class="special">...;</span></code>).
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type deduction for multiple variables
declared with the <code class="computeroutput"><span class="keyword">auto</span></code>
keyword (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
<span class="special">=</span> <span class="special">...,</span>
<span class="special">*</span><span class="identifier">ptr</span>
<span class="special">=</span> <span class="special">...;</span></code>).
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR16_T</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type <code class="computeroutput"><span class="keyword">char16_t</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR32_T</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type <code class="computeroutput"><span class="keyword">char32_t</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CONSTEXPR</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="keyword">constexpr</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="keyword">decltype</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE_N3276</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the extension to <code class="computeroutput"><span class="keyword">decltype</span></code>
described in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf" target="_top">N3276</a>,
accepted in Madrid, March 2011.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DELETED_FUNCTIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
<span class="keyword">delete</span></code>) functions.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
<span class="keyword">default</span></code>) functions.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
<span class="identifier">T</span><span class="special">()</span></code>).
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXTERN_TEMPLATE</span></code>
</p>
</td>
<td>
<p>
The compiler does not support explicit instantiation forward declarations
for templates (<code class="computeroutput"><span class="keyword">extern</span> <span class="keyword">template</span> <span class="special">...</span></code>).
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FINAL</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the C++ class-virt-specifier final.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support expanding a variadic template parameter
pack into a template containing one or more fixed arguments
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support default template arguments for function
templates.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_ATOMIC</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_ATOMIC</span></code>
@@ -2680,202 +2887,6 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
</p>
</td>
<td>
<p>
The standard library header &lt;memory&gt; has no shared_ptr and
unique_ptr.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_ALIGN</span></code>
</p>
</td>
<td>
<p>
The standard library header &lt;memory&gt; has no working std::align.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_DECLARATIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type deduction for variables declared
with the <code class="computeroutput"><span class="keyword">auto</span></code> keyword
(<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
<span class="special">=</span> <span class="special">...;</span></code>).
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type deduction for multiple variables
declared with the <code class="computeroutput"><span class="keyword">auto</span></code>
keyword (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
<span class="special">=</span> <span class="special">...,</span>
<span class="special">*</span><span class="identifier">ptr</span>
<span class="special">=</span> <span class="special">...;</span></code>).
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR16_T</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type <code class="computeroutput"><span class="keyword">char16_t</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR32_T</span></code>
</p>
</td>
<td>
<p>
The compiler does not support type <code class="computeroutput"><span class="keyword">char32_t</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TEMPLATE_ALIASES</span></code>
</p>
</td>
<td>
<p>
The compiler does not support template aliases.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CONSTEXPR</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="keyword">constexpr</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="keyword">decltype</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE_N3276</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the extension to <code class="computeroutput"><span class="keyword">decltype</span></code>
described in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf" target="_top">N3276</a>,
accepted in Madrid, March 2011.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
<span class="keyword">default</span></code>) functions.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DELETED_FUNCTIONS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
<span class="keyword">delete</span></code>) functions.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
<span class="identifier">T</span><span class="special">()</span></code>).
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXTERN_TEMPLATE</span></code>
</p>
</td>
<td>
<p>
The compiler does not support explicit instantiation forward declarations
for templates (<code class="computeroutput"><span class="keyword">extern</span> <span class="keyword">template</span> <span class="special">...</span></code>).
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support default template arguments for function
templates.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_LAMBDAS</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_LAMBDAS</span></code>
@@ -2904,13 +2915,19 @@
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The compiler does not support <code class="computeroutput"><span class="keyword">long</span> The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
<span class="keyword">long</span></code>. <span class="keyword">default</span></code>) functions in access
control sections other than <code class="computeroutput"><span class="keyword">public</span></code>.
Public defaulted functions may still be supported, as indicated
by <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>.
Some compilers implementing an early draft of the C++11 standard
(in particular, incorporating <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#906" target="_top">DR906</a>)
are susceptible to this problem.
</p> </p>
</td> </td>
</tr> </tr>
@@ -3000,6 +3017,19 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
</p>
</td>
<td>
<p>
The standard library header &lt;memory&gt; has no shared_ptr and
unique_ptr.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STATIC_ASSERT</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STATIC_ASSERT</span></code>
@@ -3012,6 +3042,18 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_ALIGN</span></code>
</p>
</td>
<td>
<p>
The standard library header &lt;memory&gt; has no working std::align.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_UNORDERED</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_UNORDERED</span></code>
@@ -3025,6 +3067,18 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TEMPLATE_ALIASES</span></code>
</p>
</td>
<td>
<p>
The compiler does not support template aliases.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TRAILING_RESULT_TYPES</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TRAILING_RESULT_TYPES</span></code>
@@ -3100,6 +3154,19 @@
</p> </p>
</td> </td>
</tr> </tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
<span class="keyword">long</span></code>.
</p>
</td>
</tr>
</tbody> </tbody>
</table></div> </table></div>
</div> </div>

View File

@@ -968,7 +968,7 @@
</div> </div>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: June 12, 2014 at 12:31:43 GMT</small></p></td> <td align="left"><p><small>Last revised: August 25, 2014 at 17:53:11 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> <td align="right"><div class="copyright-footer"></div></td>
</tr></table> </tr></table>
<hr> <hr>

View File

@@ -399,6 +399,13 @@ containing header should be included only once while preprocessing the
current translation unit. The pragma may improve compile times of large projects current translation unit. The pragma may improve compile times of large projects
with some compilers. with some compilers.
]] ]]
[[`BOOST_HAS_PRAGMA_DETECT_MISMATCH`][Compiler][
The compiler recognizes the `#pragma detect_mismatch("name", "value")` directive which tells that the
link stage should be terminated with error if values for provided `"name"` missmatch.
This pragma may be a help in preventing ODR violations and ensuring that different modules
are compiled with same flags.
]]
[[`BOOST_HAS_PTHREAD_DELAY_NP`][Platform][ [[`BOOST_HAS_PTHREAD_DELAY_NP`][Platform][
The platform has the POSIX API `pthread_delay_np`. The platform has the POSIX API `pthread_delay_np`.
]] ]]
@@ -582,6 +589,48 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX11_ALIGNAS`][The compiler does not support the `alignas` keyword.]] [[`BOOST_NO_CXX11_ALIGNAS`][The compiler does not support the `alignas` keyword.]]
[[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in <memory>.]] [[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in <memory>.]]
[[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library <memory> does not support atomic smart pointer operations.]] [[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library <memory> does not support atomic smart pointer operations.]]
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support
type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
]]
[[`BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS`][The compiler does not support
type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
]]
[[`BOOST_NO_CXX11_CHAR16_T`][The compiler does not support
type `char16_t`.
]]
[[`BOOST_NO_CXX11_CHAR32_T`][The compiler does not support
type `char32_t`.
]]
[[`BOOST_NO_CXX11_CONSTEXPR`][The compiler does not support
`constexpr`.
]]
[[`BOOST_NO_CXX11_DECLTYPE`][The compiler does not support
`decltype`.
]]
[[`BOOST_NO_CXX11_DECLTYPE_N3276`][The compiler does not support the extension to
`decltype` described in [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276],
accepted in Madrid, March 2011.
]]
[[`BOOST_NO_CXX11_DELETED_FUNCTIONS`][The compiler does not support
deleted (`= delete`) functions.
]]
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
defaulted (`= default`) functions.
]]
[[`BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS`][The compiler does not support
explicit conversion operators (`explicit operator T()`).
]]
[[`BOOST_NO_CXX11_EXTERN_TEMPLATE`][The compiler does not support
explicit instantiation forward declarations for templates (`extern template ...`).
]]
[[`BOOST_NO_CXX11_FINAL`][The compiler does not support the C++ class-virt-specifier final.
]]
[[`BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS`][The compiler does not support
expanding a variadic template parameter pack into a template containing one or more
fixed arguments]]
[[`BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS`][The compiler does not support
default template arguments for function templates.
]]
[[`BOOST_NO_CXX11_HDR_ATOMIC`][The standard library does not provide header <atomic>.]] [[`BOOST_NO_CXX11_HDR_ATOMIC`][The standard library does not provide header <atomic>.]]
[[`BOOST_NO_CXX11_HDR_ARRAY`][The standard library does not provide header <array>.]] [[`BOOST_NO_CXX11_HDR_ARRAY`][The standard library does not provide header <array>.]]
[[`BOOST_NO_CXX11_HDR_CHRONO`][The standard library does not provide header <chrono>.]] [[`BOOST_NO_CXX11_HDR_CHRONO`][The standard library does not provide header <chrono>.]]
@@ -602,49 +651,8 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX11_HDR_TYPE_TRAITS`][The standard library does not provide header <type_traits>.]] [[`BOOST_NO_CXX11_HDR_TYPE_TRAITS`][The standard library does not provide header <type_traits>.]]
[[`BOOST_NO_CXX11_HDR_UNORDERED_MAP`][The standard library does not provide header <unordered_map>.]] [[`BOOST_NO_CXX11_HDR_UNORDERED_MAP`][The standard library does not provide header <unordered_map>.]]
[[`BOOST_NO_CXX11_HDR_UNORDERED_SET`][The standard library does not provide header <unordered_set>.]] [[`BOOST_NO_CXX11_HDR_UNORDERED_SET`][The standard library does not provide header <unordered_set>.]]
[[`BOOST_NO_CXX11_INLINE_NAMESPACES`][The compiler does not support inline namespaces.]]
[[`BOOST_NO_CXX11_SMART_PTR`][The standard library header <memory> has no shared_ptr and unique_ptr.]]
[[`BOOST_NO_CXX11_STD_ALIGN`][The standard library header <memory> has no working std::align.]]
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support [[`BOOST_NO_CXX11_INLINE_NAMESPACES`][The compiler does not support inline namespaces.]]
type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
]]
[[`BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS`][The compiler does not support
type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
]]
[[`BOOST_NO_CXX11_CHAR16_T`][The compiler does not support
type `char16_t`.
]]
[[`BOOST_NO_CXX11_CHAR32_T`][The compiler does not support
type `char32_t`.
]]
[[`BOOST_NO_CXX11_TEMPLATE_ALIASES`][The compiler does not support template aliases.
]]
[[`BOOST_NO_CXX11_CONSTEXPR`][The compiler does not support
`constexpr`.
]]
[[`BOOST_NO_CXX11_DECLTYPE`][The compiler does not support
`decltype`.
]]
[[`BOOST_NO_CXX11_DECLTYPE_N3276`][The compiler does not support the extension to
`decltype` described in [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276],
accepted in Madrid, March 2011.
]]
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
defaulted (`= default`) functions.
]]
[[`BOOST_NO_CXX11_DELETED_FUNCTIONS`][The compiler does not support
deleted (`= delete`) functions.
]]
[[`BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS`][The compiler does not support
explicit conversion operators (`explicit operator T()`).
]]
[[`BOOST_NO_CXX11_EXTERN_TEMPLATE`][The compiler does not support
explicit instantiation forward declarations for templates (`extern template ...`).
]]
[[`BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS`][The compiler does not support
default template arguments for function templates.
]]
[[`BOOST_NO_CXX11_LAMBDAS`][The compiler does not support Lambdas. [[`BOOST_NO_CXX11_LAMBDAS`][The compiler does not support Lambdas.
]] ]]
[[`BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS`][The compiler does not allow to [[`BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS`][The compiler does not allow to
@@ -652,7 +660,11 @@ pass local classes as template parameters (this macro intentionally does not
control passing of unnamed types as template parameters, see also control passing of unnamed types as template parameters, see also
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm N2657]). [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm N2657]).
]] ]]
[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`. [[`BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS`][The compiler does not support
defaulted (`= default`) functions in access control sections other than `public`. Public defaulted
functions may still be supported, as indicated by `BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`. Some
compilers implementing an early draft of the C++11 standard (in particular, incorporating
[@http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#906 DR906]) are susceptible to this problem.
]] ]]
[[`BOOST_NO_CXX11_NOEXCEPT`][The compiler does not support `noexcept`. [[`BOOST_NO_CXX11_NOEXCEPT`][The compiler does not support `noexcept`.
]] ]]
@@ -674,12 +686,16 @@ r-value references.
[[`BOOST_NO_CXX11_SCOPED_ENUMS`][The compiler does not support [[`BOOST_NO_CXX11_SCOPED_ENUMS`][The compiler does not support
scoped enumerations (`enum class`). scoped enumerations (`enum class`).
]] ]]
[[`BOOST_NO_CXX11_SMART_PTR`][The standard library header <memory> has no shared_ptr and unique_ptr.]]
[[`BOOST_NO_CXX11_STATIC_ASSERT`][The compiler does not support [[`BOOST_NO_CXX11_STATIC_ASSERT`][The compiler does not support
`static_assert`. `static_assert`.
]] ]]
[[`BOOST_NO_CXX11_STD_ALIGN`][The standard library header <memory> has no working std::align.]]
[[`BOOST_NO_CXX11_STD_UNORDERED`][The standard library does not support [[`BOOST_NO_CXX11_STD_UNORDERED`][The standard library does not support
<unordered_map> and <unordered_set>. <unordered_map> and <unordered_set>.
]] ]]
[[`BOOST_NO_CXX11_TEMPLATE_ALIASES`][The compiler does not support template aliases.
]]
[[`BOOST_NO_CXX11_TRAILING_RESULT_TYPES`][The compiler does not support the new function result type [[`BOOST_NO_CXX11_TRAILING_RESULT_TYPES`][The compiler does not support the new function result type
specification syntax (e.g. `auto foo(T) -> T;`).]] specification syntax (e.g. `auto foo(T) -> T;`).]]
[[`BOOST_NO_CXX11_UNICODE_LITERALS`][The compiler does not support [[`BOOST_NO_CXX11_UNICODE_LITERALS`][The compiler does not support
@@ -696,6 +712,8 @@ variadic templates.
[[`BOOST_NO_CXX11_VARIADIC_MACROS`][The compiler does not support [[`BOOST_NO_CXX11_VARIADIC_MACROS`][The compiler does not support
variadic macros. variadic macros.
]] ]]
[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
]]
] ]
[endsect] [endsect]

View File

@@ -195,6 +195,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#if __BORLANDC__ >= 0x590 #if __BORLANDC__ >= 0x590
# define BOOST_HAS_TR1_HASH # define BOOST_HAS_TR1_HASH

View File

@@ -10,6 +10,11 @@
#define BOOST_HAS_PRAGMA_ONCE #define BOOST_HAS_PRAGMA_ONCE
// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
#endif
// When compiling with clang before __has_extension was defined, // When compiling with clang before __has_extension was defined,
// even if one writes 'defined(__has_extension) && __has_extension(xxx)', // even if one writes 'defined(__has_extension) && __has_extension(xxx)',
// clang reports a compiler error. So the only workaround found is: // clang reports a compiler error. So the only workaround found is:
@@ -188,6 +193,10 @@
# define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_INLINE_NAMESPACES
#endif #endif
#if !__has_feature(cxx_override_control)
# define BOOST_NO_CXX11_FINAL
#endif
// Clang always supports variadic macros // Clang always supports variadic macros
// Clang always supports extern templates // Clang always supports extern templates

View File

@@ -121,6 +121,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
// //
// TR1 macros: // TR1 macros:

View File

@@ -105,6 +105,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#ifdef c_plusplus #ifdef c_plusplus
// EDG has "long long" in non-strict mode // EDG has "long long" in non-strict mode

View File

@@ -59,6 +59,7 @@
#define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CHAR32_T
#define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR16_T
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG //#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
#define BOOST_MATH_DISABLE_STD_FPCLASSIFY #define BOOST_MATH_DISABLE_STD_FPCLASSIFY
//#define BOOST_HAS_FPCLASSIFY //#define BOOST_HAS_FPCLASSIFY

View File

@@ -81,6 +81,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#if (__DMC__ <= 0x840) #if (__DMC__ <= 0x840)
#error "Compiler not supported or configured - please reconfigure" #error "Compiler not supported or configured - please reconfigure"

View File

@@ -154,14 +154,6 @@
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
# define BOOST_NO_CXX11_RVALUE_REFERENCES # define BOOST_NO_CXX11_RVALUE_REFERENCES
# define BOOST_NO_CXX11_STATIC_ASSERT # define BOOST_NO_CXX11_STATIC_ASSERT
// Variadic templates compiler:
// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
# define BOOST_HAS_VARIADIC_TMPL
# else
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
# endif
#endif #endif
// C++0x features in 4.4.n and later // C++0x features in 4.4.n and later
@@ -176,6 +168,7 @@
# define BOOST_NO_CXX11_DELETED_FUNCTIONS # define BOOST_NO_CXX11_DELETED_FUNCTIONS
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#endif #endif
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
@@ -183,7 +176,7 @@
#endif #endif
// GCC 4.5 forbids declaration of defaulted functions in private or protected sections // GCC 4.5 forbids declaration of defaulted functions in private or protected sections
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS # define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
#endif #endif
@@ -218,8 +211,10 @@
// C++0x features in 4.7.n and later // C++0x features in 4.7.n and later
// //
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__) #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_CXX11_FINAL
# define BOOST_NO_CXX11_TEMPLATE_ALIASES # define BOOST_NO_CXX11_TEMPLATE_ALIASES
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_USER_DEFINED_LITERALS
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
#endif #endif
// C++0x features in 4.8.n and later // C++0x features in 4.8.n and later

View File

@@ -59,6 +59,7 @@
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ #define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__

View File

@@ -34,11 +34,14 @@
# define BOOST_INTEL_STDCXX0X # define BOOST_INTEL_STDCXX0X
#endif #endif
#ifdef BOOST_INTEL_STDCXX0X #if !defined(BOOST_COMPILER)
#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) # if defined(BOOST_INTEL_STDCXX0X)
#else # define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) # else
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
# endif
#endif #endif
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION #define BOOST_INTEL BOOST_INTEL_CXX_VERSION
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
@@ -269,6 +272,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
# undef BOOST_NO_CXX11_RANGE_BASED_FOR # undef BOOST_NO_CXX11_RANGE_BASED_FOR
# undef BOOST_NO_CXX11_SCOPED_ENUMS # undef BOOST_NO_CXX11_SCOPED_ENUMS
# undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX # undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
# undef BOOST_NO_CXX11_FINAL
#endif #endif
#if (BOOST_INTEL_CXX_VERSION >= 1310) #if (BOOST_INTEL_CXX_VERSION >= 1310)
# undef BOOST_NO_SFINAE_EXPR # undef BOOST_NO_SFINAE_EXPR
@@ -297,6 +301,10 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
# define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TUPLE
#endif #endif
#if BOOST_INTEL_CXX_VERSION <= 1400
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
#endif
#if defined(_MSC_VER) && (_MSC_VER <= 1700) #if defined(_MSC_VER) && (_MSC_VER <= 1700)
// //
// Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode: // Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode:
@@ -318,11 +326,19 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
# define BOOST_NO_FENV_H # define BOOST_NO_FENV_H
#endif #endif
#if defined(_MSC_VER) && (_MSC_VER >= 1600) // Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections,
# define BOOST_HAS_STDINT_H // producing the following errors:
// error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object
#if (BOOST_INTEL_CXX_VERSION <= 1310)
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
#endif #endif
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) #if defined(_MSC_VER) && (_MSC_VER >= 1600)
# define BOOST_HAS_STDINT_H
# undef BOOST_NO_CXX11_FINAL
#endif
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(__CUDACC__)
# define BOOST_HAS_INT128 # define BOOST_HAS_INT128
#endif #endif

View File

@@ -124,6 +124,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) #define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)

View File

@@ -73,6 +73,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
// //
// versions check: // versions check:
// we don't support MPW prior to version 8.9: // we don't support MPW prior to version 8.9:

View File

@@ -81,4 +81,5 @@
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_REF_QUALIFIERS
# define BOOST_NO_CXX11_FINAL
#endif #endif

View File

@@ -119,6 +119,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
// //
// version check: // version check:

View File

@@ -132,6 +132,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
// //
// Version // Version

View File

@@ -130,3 +130,4 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL

View File

@@ -104,6 +104,9 @@
#if (_MSC_VER >= 1400) && !defined(_DEBUG) #if (_MSC_VER >= 1400) && !defined(_DEBUG)
# define BOOST_HAS_NRVO # define BOOST_HAS_NRVO
#endif #endif
#if _MSC_VER >= 1500 // 150X == VC++ 9.0
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
#endif
// //
// disable Win32 API's if compiler extensions are // disable Win32 API's if compiler extensions are
// turned off: // turned off:
@@ -149,6 +152,7 @@
// C++11 features supported by VC++ 11 (aka 2012) // C++11 features supported by VC++ 11 (aka 2012)
// //
#if _MSC_VER < 1700 #if _MSC_VER < 1700
# define BOOST_NO_CXX11_FINAL
# define BOOST_NO_CXX11_RANGE_BASED_FOR # define BOOST_NO_CXX11_RANGE_BASED_FOR
# define BOOST_NO_CXX11_SCOPED_ENUMS # define BOOST_NO_CXX11_SCOPED_ENUMS
#endif // _MSC_VER < 1700 #endif // _MSC_VER < 1700
@@ -168,7 +172,7 @@
# define BOOST_NO_CXX11_DECLTYPE_N3276 # define BOOST_NO_CXX11_DECLTYPE_N3276
#endif #endif
// C++11 features supported by VC++ 14 CTP1 // C++11 features supported by VC++ 14 (aka 2014) CTP1
// Because the CTP is unsupported, unrelease, and only alpha quality, // Because the CTP is unsupported, unrelease, and only alpha quality,
// it is only supported if BOOST_MSVC_ENABLE_2014_JUN_CTP is defined. // it is only supported if BOOST_MSVC_ENABLE_2014_JUN_CTP is defined.
// //
@@ -261,8 +265,8 @@
#endif #endif
// //
// last known and checked version is 18.00.21730.1 (VC14 CTP1): // last known and checked version is 19.00.21901.1 (VC14 CTP2):
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190021730) #if (_MSC_VER > 1800 && _MSC_FULL_VER > 190021901)
# if defined(BOOST_ASSERT_CONFIG) # if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results" # error "Unknown compiler version - please run the configure tests and report the results"
# else # else

View File

@@ -39,7 +39,8 @@
// Intel // Intel
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" # define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
#elif defined __clang__ #elif defined __clang__ && !defined(__CUDACC__)
// when using clang and cuda at same time, you want to appear as gcc
// Clang C++ emulates GCC, so it has to appear early. // Clang C++ emulates GCC, so it has to appear early.
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" # define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"

View File

@@ -147,6 +147,12 @@
# define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_STD_ALIGN
#endif #endif
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
// Intel's compiler can't handle this header yet:
# define BOOST_NO_CXX11_HDR_ATOMIC
#endif
// 520..610 have std::addressof, but it doesn't support functions // 520..610 have std::addressof, but it doesn't support functions
// //
# define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX11_ADDRESSOF

View File

@@ -1,5 +1,5 @@
// Boost config.hpp configuration header file ------------------------------// // Boost config.hpp configuration header file ------------------------------//
// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file // boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file
// Copyright (c) 2001-2003 John Maddock // Copyright (c) 2001-2003 John Maddock
// Copyright (c) 2001 Darin Adler // Copyright (c) 2001 Darin Adler
@@ -646,6 +646,11 @@ namespace std{ using ::type_info; }
# define BOOST_ALIGNMENT(x) # define BOOST_ALIGNMENT(x)
#endif #endif
// Lack of non-public defaulted functions is implied by the lack of any defaulted functions
#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
#endif
// Defaulted and deleted function declaration helpers // Defaulted and deleted function declaration helpers
// These macros are intended to be inside a class definition. // These macros are intended to be inside a class definition.
// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its // BOOST_DEFAULTED_FUNCTION accepts the function declaration and its
@@ -681,7 +686,7 @@ namespace std{ using ::type_info; }
// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined // Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
// //
#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276) #if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)
#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
#endif #endif
// -------------------- Deprecated macros for 1.50 --------------------------- // -------------------- Deprecated macros for 1.50 ---------------------------
@@ -957,6 +962,13 @@ namespace std{ using ::type_info; }
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL) #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
#define BOOST_HAS_VARIADIC_TMPL #define BOOST_HAS_VARIADIC_TMPL
#endif #endif
//
// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when
// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set:
//
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
#endif
// //
// Finish off with checks for macros that are depricated / no longer supported, // Finish off with checks for macros that are depricated / no longer supported,

View File

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

13
meta/libraries.json Normal file
View File

@@ -0,0 +1,13 @@
{
"key": "config",
"name": "Config",
"description": "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users.",
"documentation": "config.htm",
"category": [
"workarounds"
],
"authors": "",
"maintainers": [
"John Maddock <john -at- johnmaddock.co.uk>"
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
// (C) Copyright Agustin Berge 2014
// 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_CXX11_FINAL
// TITLE: C++11 final class-virt-specifier
// DESCRIPTION: The compiler does not support the C++ class-virt-specifier final
namespace boost_no_cxx11_final {
struct X final {};
struct abstract
{
virtual int f() = 0;
};
struct derived : public abstract
{
virtual int f() final
{
return 0;
}
};
int check(abstract* pa)
{
return pa->f();
}
int test()
{
derived d;
return check(&d);
}
}

View File

@@ -0,0 +1,38 @@
// (C) Copyright Andrey Semashev 2014
// 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_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
// TITLE: C++11 non-public defaulted functions unavailable
// DESCRIPTION: The compiler does not support C++11 defaulted functions in access control sections other than public
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
# error Non-public defaulted functions are not supported in non-C++11 mode
#endif
namespace boost_no_cxx11_non_public_defaulted_functions {
struct foo
{
protected:
foo() = default;
foo& operator= (foo const&) = default;
};
struct bar
{
private:
bar() = default;
bar& operator= (bar const&) = default;
};
int test()
{
return 0;
}
}

View File

@@ -16,10 +16,10 @@ namespace boost_no_cxx11_user_defined_literals {
struct my_literal struct my_literal
{ {
constexpr my_literal() : val(0) {} my_literal() : val(0) {}
constexpr my_literal(int i) : val(i) {} my_literal(int i) : val(i) {}
constexpr my_literal(const my_literal& a) : val(a.val) {} my_literal(const my_literal& a) : val(a.val) {}
constexpr bool operator==(const my_literal& a) const { return val == a.val; } bool operator==(const my_literal& a) const { return val == a.val; }
int val; int val;
}; };
@@ -47,20 +47,20 @@ struct parse_int<base, val, c, Digits...>
char_value, Digits...>::value }; char_value, Digits...>::value };
}; };
constexpr my_literal operator "" _suf1(unsigned long long v) my_literal operator "" _suf1(unsigned long long v)
{ {
return my_literal(v); return my_literal(v);
} }
template <char...PACK> template <char...PACK>
constexpr my_literal operator "" _bin() my_literal operator "" _bin()
{ {
return parse_int<2, 0, PACK...>::value; return parse_int<2, 0, PACK...>::value;
} }
int test() int test()
{ {
constexpr my_literal a = 0x23_suf1; my_literal a = 0x23_suf1;
constexpr my_literal b = 1001_bin; my_literal b = 1001_bin;
return ((a == my_literal(0x23)) && (b == my_literal(9))) ? 0 : 1; return ((a == my_literal(0x23)) && (b == my_literal(9))) ? 0 : 1;
} }

View File

@@ -0,0 +1,26 @@
// 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_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
// TITLE: C++0x variadic templates unavailable
// DESCRIPTION: The compiler does not support C++0x variadic templates
namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs {
template<char one, char two, char... Others> struct char_tuple {};
template<char... Args> struct super_class : public char_tuple<Args...> {};
int test()
{
super_class<'a', 'b', 'c', 'd'> sc;
(void)sc;
return 0;
}
}

View File

@@ -1010,6 +1010,8 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS); PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS);
PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS); PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS);
PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE); PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
PRINT_MACRO(BOOST_NO_CXX11_FINAL);
PRINT_MACRO(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS);
PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS); PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS);
PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY); PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY);
PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC); PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC);
@@ -1035,6 +1037,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS); PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS);
PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS); PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS);
PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT); PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT);
PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS);
PRINT_MACRO(BOOST_NO_CXX11_NULLPTR); PRINT_MACRO(BOOST_NO_CXX11_NULLPTR);
PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS); PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR); PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR);
@@ -1128,6 +1131,9 @@ void print_boost_macros()

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Aug 15 15:51:00 2014
// 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_CXX11_FINAL
// This file should not compile, if it does then
// BOOST_NO_CXX11_FINAL should not be defined.
// See file boost_no_cxx11_final.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_CXX11_FINAL
#include "boost_no_cxx11_final.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx11_final::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Aug 15 15:51:00 2014
// 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_CXX11_FINAL
// This file should compile, if it does not then
// BOOST_NO_CXX11_FINAL should be defined.
// See file boost_no_cxx11_final.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_CXX11_FINAL
#include "boost_no_cxx11_final.ipp"
#else
namespace boost_no_cxx11_final = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx11_final::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Aug 22 18:33:20 2014
// 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_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
// This file should not compile, if it does then
// BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS should not be defined.
// See file boost_no_cxx11_non_pub_def_fun.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_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
#include "boost_no_cxx11_non_pub_def_fun.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx11_non_public_defaulted_functions::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Aug 22 18:33:20 2014
// 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_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
// This file should compile, if it does not then
// BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS should be defined.
// See file boost_no_cxx11_non_pub_def_fun.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_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
#include "boost_no_cxx11_non_pub_def_fun.ipp"
#else
namespace boost_no_cxx11_non_public_defaulted_functions = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx11_non_public_defaulted_functions::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Mon Aug 25 18:12:27 2014
// 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_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
// This file should not compile, if it does then
// BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS should not be defined.
// See file boost_no_fixed_len_variadic_templates.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_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
#include "boost_no_fixed_len_variadic_templates.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Mon Aug 25 18:12:27 2014
// 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_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
// This file should compile, if it does not then
// BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS should be defined.
// See file boost_no_fixed_len_variadic_templates.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_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
#include "boost_no_fixed_len_variadic_templates.ipp"
#else
namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test();
}