forked from boostorg/config
Compare commits
68 Commits
boost-1.62
...
boost-1.64
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a12301d1cb | ||
|
|
b16f6e1698 | ||
|
|
29c8ce027d | ||
|
|
5cce40b5fe | ||
|
|
5ff8f83739 | ||
|
|
041bf1ee1f | ||
|
|
3ff5ed08a2 | ||
|
|
1abc59c624 | ||
|
|
45b11f1fae | ||
|
|
d99022e8d7 | ||
|
|
328f0f40c8 | ||
|
|
79ac4bdbeb | ||
|
|
fb87ea1cbe | ||
|
|
438520d1fd | ||
|
|
329b4c17f0 | ||
|
|
2c34894d48 | ||
|
|
6e93ac5d72 | ||
|
|
b44be22efc | ||
|
|
b025db6d54 | ||
|
|
c85095cf33 | ||
|
|
b4628d91eb | ||
|
|
e21b1729cb | ||
|
|
de5f166253 | ||
|
|
d5d1b73638 | ||
|
|
b49f658332 | ||
|
|
c03303bdcb | ||
|
|
ab0fa3b3d7 | ||
|
|
0c45ca206a | ||
|
|
ded49a9d32 | ||
|
|
a1a9f07e63 | ||
|
|
54f108a006 | ||
|
|
2fd39f10cb | ||
|
|
25be5543ae | ||
|
|
553dcbec96 | ||
|
|
0a83dd7aa9 | ||
|
|
8d107ecb35 | ||
|
|
13f5d9c88a | ||
|
|
6f0c359a4e | ||
|
|
68b7cc8759 | ||
|
|
209302a3ed | ||
|
|
45c6f515b1 | ||
|
|
d1c399f971 | ||
|
|
7a3fe1f874 | ||
|
|
fe55aadefd | ||
|
|
8f9f27336c | ||
|
|
0229c6e5cc | ||
|
|
4b111941af | ||
|
|
c717449aca | ||
|
|
780c29bf06 | ||
|
|
c6e2ac028b | ||
|
|
fa7121c0fe | ||
|
|
4fc6130781 | ||
|
|
4749434d47 | ||
|
|
4f974d28c1 | ||
|
|
c45ac74369 | ||
|
|
ccea02471c | ||
|
|
72116963c5 | ||
|
|
ba60de800c | ||
|
|
b20d7a811e | ||
|
|
350cfd5d82 | ||
|
|
9b97c79b4e | ||
|
|
b0b52d6c75 | ||
|
|
d7bb39764b | ||
|
|
10b814f19b | ||
|
|
6ab00cf036 | ||
|
|
eaf874e35d | ||
|
|
5cb5c8e82d | ||
|
|
f020bec68a |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
checks/architecture/bin
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||
# This file was automatically generated on Fri Jul 1 18:47:25 2016
|
||||
# This file was automatically generated on Sun Feb 5 19:09:22 2017
|
||||
# by libs/config/tools/generate.cpp
|
||||
# Copyright John Maddock.
|
||||
# Use, modification and distribution are subject to the
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
import modules ;
|
||||
import path ;
|
||||
|
||||
import testing ;
|
||||
|
||||
rule run-simple ( requirements * : target-name )
|
||||
{
|
||||
@@ -116,6 +116,7 @@ run-simple <define>TEST_BOOST_NO_CXX11_INLINE_NAMESPACES : cxx11_inline_namespac
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS : cxx11_non_public_defaulted_functions ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_NUMERIC_LIMITS : cxx11_numeric_limits ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_REF_QUALIFIERS : cxx11_ref_qualifiers ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_SFINAE_EXPR : cxx11_sfinae_expr ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_SMART_PTR : cxx11_smart_ptr ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_STD_ALIGN : cxx11_std_align ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_THREAD_LOCAL : cxx11_thread_local ;
|
||||
@@ -130,7 +131,10 @@ run-simple <define>TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX : cxx14_hdr_shared_mutex
|
||||
run-simple <define>TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES : cxx14_initialized_lambda_captures ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI : cxx14_aggregate_nsdmi ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION : cxx14_return_type_deduction ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE : cxx14_std_exchange ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES : cxx14_variable_templates ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX17_STD_APPLY : cxx17_std_apply ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX17_STD_INVOKE : cxx17_std_invoke ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL : cxx11_hdr_functional ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_DECLTYPE : cxx11_decltype ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_DECLTYPE_N3276 : cxx11_decltype_n3276 ;
|
||||
@@ -176,6 +180,7 @@ run-simple <define>TEST_BOOST_NO_PRIVATE_IN_AGGREGATE : private_in_aggregate ;
|
||||
run-simple <define>TEST_BOOST_NO_POINTER_TO_MEMBER_CONST : pointer_to_member_const ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_RANGE_BASED_FOR : cxx11_range_based_for ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_RAW_LITERALS : cxx11_raw_literals ;
|
||||
run-simple <define>TEST_BOOST_NO_RESTRICT_REFERENCES : restrict_references ;
|
||||
run-simple <define>TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION : unreachable_return_detection ;
|
||||
run-simple <define>TEST_BOOST_NO_RTTI : rtti ;
|
||||
run-simple <define>TEST_BOOST_NO_CXX11_RVALUE_REFERENCES : cxx11_rvalue_references ;
|
||||
|
||||
1
checks/architecture/.gitignore
vendored
Normal file
1
checks/architecture/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
bin
|
||||
@@ -1,4 +1,4 @@
|
||||
// This file was automatically generated on Fri Jul 1 18:47:25 2016
|
||||
// This file was automatically generated on Sun Feb 5 19:09:22 2017
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Use, modification and distribution are subject to the
|
||||
@@ -397,6 +397,10 @@ namespace test = boost_no_cxx11_numeric_limits;
|
||||
# include "../test/boost_no_cxx11_ref_qualifiers.ipp"
|
||||
namespace test = boost_no_cxx11_ref_qualifiers;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_SFINAE_EXPR
|
||||
# include "../test/boost_no_cxx11_sfinae_expr.ipp"
|
||||
namespace test = boost_no_cxx11_sfinae_expr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_SMART_PTR
|
||||
# include "../test/boost_no_cxx11_smart_ptr.ipp"
|
||||
namespace test = boost_no_cxx11_smart_ptr;
|
||||
@@ -453,10 +457,22 @@ namespace test = boost_no_cxx14_aggregate_nsdmi;
|
||||
# include "../test/boost_no_cxx14_return_type_ded.ipp"
|
||||
namespace test = boost_no_cxx14_return_type_deduction;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_STD_EXCHANGE
|
||||
# include "../test/boost_no_cxx14_std_exchange.ipp"
|
||||
namespace test = boost_no_cxx14_std_exchange;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
# include "../test/boost_no_cxx14_var_templ.ipp"
|
||||
namespace test = boost_no_cxx14_variable_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX17_STD_APPLY
|
||||
# include "../test/boost_no_cxx17_std_apply.ipp"
|
||||
namespace test = boost_no_cxx17_std_apply;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX17_STD_INVOKE
|
||||
# include "../test/boost_no_cxx17_std_invoke.ipp"
|
||||
namespace test = boost_no_cxx17_std_invoke;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
# include "../test/boost_no_cxx_hdr_functional.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_functional;
|
||||
@@ -637,6 +653,10 @@ namespace test = boost_no_cxx11_range_based_for;
|
||||
# include "../test/boost_no_raw_literals.ipp"
|
||||
namespace test = boost_no_cxx11_raw_literals;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_RESTRICT_REFERENCES
|
||||
# include "../test/boost_no_restrict_references.ipp"
|
||||
namespace test = boost_no_restrict_references;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
# include "../test/boost_no_ret_det.ipp"
|
||||
namespace test = boost_no_unreachable_return_detection;
|
||||
|
||||
@@ -59,4 +59,8 @@ boostbook standalone
|
||||
install pdfinstall : standalone/<format>pdf : <location>. <install-type>PDF ;
|
||||
explicit pdfinstall ;
|
||||
|
||||
|
||||
###############################################################################
|
||||
alias boostdoc ;
|
||||
explicit boostdoc ;
|
||||
alias boostrelease : standalone ;
|
||||
explicit boostrelease ;
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
that describe C++14 features not supported</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__14_features_with_c__11_or_earlier_compilers">Macros
|
||||
that allow use of C++14 features with C++11 or earlier compilers</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported">Macros
|
||||
that describe C++17 features not supported</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
|
||||
Helper Macros</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
|
||||
@@ -515,7 +517,7 @@
|
||||
is covered by <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337" target="_top">Core
|
||||
Language DR337</a>, but is not part of the current standard.
|
||||
Fortunately most compilers that support SFINAE also support this
|
||||
DR.
|
||||
DR. See also BOOST_NO_SFINAE and BOOST_NO_SFINAE_EXPR
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -813,6 +815,24 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_RESTRICT_REFERENCES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Compiler
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Compiler-specific <code class="computeroutput"><span class="identifier">restrict</span></code>
|
||||
keyword can not be applied to references.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_RTTI</span></code>
|
||||
@@ -844,7 +864,8 @@
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the "Substitution Failure Is
|
||||
Not An Error" meta-programming idiom.
|
||||
Not An Error" meta-programming idiom. This is the lightweight
|
||||
pre-C++11 version of SFINAE.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -862,6 +883,8 @@
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support usage of SFINAE with arbitrary expressions.
|
||||
This is the post-C++11 SFINAE, but excludes a few specific corner
|
||||
cases, see also BOOST_NO_CXX11_SFINAE_EXPR.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -3053,6 +3076,22 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SFINAE_EXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support usage of C++11 SFINAE with arbitrary
|
||||
expressions. Use this macro only if you are using all of the features
|
||||
of SFINAE including substitution-failure-on-private-member-access.
|
||||
Otherwise use BOOST_NO_SFINAE_EXPR or BOOST_NO_SFINAE which get
|
||||
defined for fewer compilers.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
|
||||
@@ -3715,6 +3754,46 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported" title="Macros that describe C++17 features not supported">Macros
|
||||
that describe C++17 features not supported</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following macros describe features in the 2016 ISO C++ standard, formerly
|
||||
known as C++1z, that are not yet supported by a particular compiler or library.
|
||||
</p>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Macro
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_STD_INVOKE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">invoke</span><span class="special">()</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a name="config_helpers"></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>
|
||||
@@ -4121,6 +4200,35 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_RESTRICT</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
This macro can be used in place of the compiler specific variant
|
||||
of the C99 <code class="computeroutput"><span class="identifier">restrict</span></code>
|
||||
keyword to notify the compiler that, for the lifetime of the qualified
|
||||
pointer variable, only it and its derivative value will be used
|
||||
to gain access to the object it references. This limits the effect
|
||||
of pointer aliasing and helps the optimizers in generating better
|
||||
code. However, i this condition is violated, undefined behavior
|
||||
may occurs.
|
||||
</p>
|
||||
<p>
|
||||
Usage example:
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">perform_computation</span><span class="special">(</span> <span class="keyword">float</span><span class="special">*</span> <span class="identifier">BOOST_RESTRICT</span> <span class="identifier">in</span><span class="special">,</span> <span class="keyword">float</span><span class="special">*</span> <span class="identifier">BOOST_RESTRICT</span> <span class="identifier">out</span> <span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="special">*</span><span class="identifier">out</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">in</span> <span class="special">*</span> <span class="number">0.5f</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_FORCEINLINE</span></code>
|
||||
|
||||
@@ -72,6 +72,8 @@
|
||||
that describe C++14 features not supported</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__14_features_with_c__11_or_earlier_compilers">Macros
|
||||
that allow use of C++14 features with C++11 or earlier compilers</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported">Macros
|
||||
that describe C++17 features not supported</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
|
||||
Helper Macros</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
|
||||
@@ -988,7 +990,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: July 02, 2016 at 08:07:27 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: February 05, 2017 at 19:27:06 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
||||
@@ -138,7 +138,7 @@ The standard library lacks `<iostream>`, `<istream>` or `<ostream>`.
|
||||
[[`BOOST_NO_IS_ABSTRACT`][Compiler][
|
||||
The C++ compiler does not support SFINAE with abstract types, this is covered
|
||||
by __CORE_LANGUAGE_DR337__, but is not part of the current standard. Fortunately
|
||||
most compilers that support SFINAE also support this DR.
|
||||
most compilers that support SFINAE also support this DR. See also BOOST_NO_SFINAE and BOOST_NO_SFINAE_EXPR
|
||||
]]
|
||||
[[`BOOST_NO_LIMITS`][Standard library][
|
||||
The C++ implementation does not provide the `<limits>` header. Never check for
|
||||
@@ -209,16 +209,20 @@ Pointers to members don't work when used as template parameters.
|
||||
The compiler misreads 8.5.1, treating classes as non-aggregate if they
|
||||
contain private or protected member functions.
|
||||
]]
|
||||
[[`BOOST_NO_RESTRICT_REFERENCES`][Compiler][
|
||||
Compiler-specific `restrict` keyword can not be applied to references.
|
||||
]]
|
||||
[[`BOOST_NO_RTTI`][Compiler][
|
||||
The compiler may (or may not) have the typeid operator, but RTTI on the dynamic type
|
||||
of an object is not supported.
|
||||
]]
|
||||
[[`BOOST_NO_SFINAE`][Compiler][
|
||||
The compiler does not support the "Substitution Failure Is Not An Error"
|
||||
meta-programming idiom.
|
||||
meta-programming idiom. This is the lightweight pre-C++11 version of SFINAE.
|
||||
]]
|
||||
[[`BOOST_NO_SFINAE_EXPR`][Compiler][
|
||||
The compiler does not support usage of SFINAE with arbitrary expressions.
|
||||
The compiler does not support usage of SFINAE with arbitrary expressions. This is the
|
||||
post-C++11 SFINAE, but excludes a few specific corner cases, see also BOOST_NO_CXX11_SFINAE_EXPR.
|
||||
]]
|
||||
[[`BOOST_NO_STD_ALLOCATOR`][Standard library][
|
||||
The C++ standard library does not provide a standards conforming
|
||||
@@ -692,6 +696,11 @@ r-value references.
|
||||
[[`BOOST_NO_CXX11_SCOPED_ENUMS`][The compiler does not support
|
||||
scoped enumerations (`enum class`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_SFINAE_EXPR`][The compiler does not support
|
||||
usage of C++11 SFINAE with arbitrary expressions. Use this macro only if you
|
||||
are using all of the features of SFINAE including substitution-failure-on-private-member-access.
|
||||
Otherwise use BOOST_NO_SFINAE_EXPR or BOOST_NO_SFINAE which get defined for fewer compilers.
|
||||
]]
|
||||
[[`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
|
||||
`static_assert`.
|
||||
@@ -924,6 +933,18 @@ provide compliant C++14 support.
|
||||
|
||||
[endsect]
|
||||
|
||||
[section Macros that describe C++17 features not supported]
|
||||
|
||||
The following macros describe features in the 2016 ISO C++ standard, formerly known as C++1z,
|
||||
that are not yet supported by a particular compiler or library.
|
||||
|
||||
[table
|
||||
[[Macro ][Description ]]
|
||||
[[`BOOST_NO_CXX17_STD_INVOKE`][The compiler does not support `std::invoke()`.]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
|
||||
[#config_helpers]
|
||||
|
||||
[section Boost Helper Macros]
|
||||
@@ -1138,6 +1159,21 @@ 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_RESTRICT`][
|
||||
This macro can be used in place of the compiler specific variant of the C99 `restrict` keyword to
|
||||
notify the compiler that, for the lifetime of the qualified pointer variable, only it and its
|
||||
derivative value will be used to gain access to the object it references. This limits the effect of
|
||||
pointer aliasing and helps the optimizers in generating better code. However, i this condition is
|
||||
violated, undefined behavior may occurs.
|
||||
|
||||
Usage example:
|
||||
``
|
||||
void perform_computation( float* BOOST_RESTRICT in, float* BOOST_RESTRICT out )
|
||||
{
|
||||
*out = *in * 0.5f;
|
||||
}
|
||||
``
|
||||
]]
|
||||
[[`BOOST_FORCEINLINE`][
|
||||
This macro can be used in place of the `inline` keyword to instruct the compiler
|
||||
that the function should always be inlined.
|
||||
|
||||
@@ -161,10 +161,15 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
// vc12:
|
||||
# define BOOST_LIB_TOOLSET "vc120"
|
||||
|
||||
# elif defined(BOOST_MSVC)
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910)
|
||||
|
||||
// vc14:
|
||||
# define BOOST_LIB_TOOLSET "vc140"
|
||||
// vc14:
|
||||
# define BOOST_LIB_TOOLSET "vc140"
|
||||
|
||||
# elif defined(BOOST_MSVC)
|
||||
|
||||
// vc14.1:
|
||||
# define BOOST_LIB_TOOLSET "vc141"
|
||||
|
||||
# elif defined(__BORLANDC__)
|
||||
|
||||
|
||||
@@ -185,6 +185,7 @@
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
#define BOOST_HAS_NRVO
|
||||
|
||||
// Branch prediction hints
|
||||
#if defined(__has_builtin)
|
||||
#if !defined (__c2__) && defined(__has_builtin)
|
||||
#if __has_builtin(__builtin_expect)
|
||||
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
@@ -282,6 +282,10 @@
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if __cplusplus < 201103L
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
#if __cplusplus < 201400
|
||||
// All versions with __cplusplus above this value seem to support this:
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
|
||||
@@ -112,6 +112,7 @@
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
|
||||
@@ -95,6 +95,7 @@
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
|
||||
@@ -253,6 +253,7 @@
|
||||
#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.8.1 and later
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
|
||||
@@ -114,6 +114,7 @@
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
|
||||
@@ -35,15 +35,24 @@
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
#if (__INTEL_COMPILER <= 1600) && !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#else // defined(_MSC_VER)
|
||||
|
||||
#include <boost/config/compiler/gcc.hpp>
|
||||
|
||||
#undef BOOST_GCC_VERSION
|
||||
#undef BOOST_GCC_CXX11
|
||||
|
||||
// Broken in all versions up to 17 (newer versions not tested)
|
||||
#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#endif // defined(_MSC_VER)
|
||||
|
||||
#undef BOOST_COMPILER
|
||||
|
||||
#if defined(__INTEL_COMPILER)
|
||||
@@ -88,7 +97,7 @@
|
||||
# define BOOST_INTEL_LINUX BOOST_INTEL
|
||||
#endif
|
||||
|
||||
#else
|
||||
#else // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
@@ -406,6 +415,11 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# undef BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && !defined(_MSC_VER)
|
||||
# undef BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
// This is available in earlier Intel releases, but breaks Multiprecision:
|
||||
@@ -479,7 +493,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# undef BOOST_NO_CXX11_FINAL
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif // defined(BOOST_INTEL_STDCXX0X)
|
||||
|
||||
//
|
||||
// Broken in all versions up to 15:
|
||||
@@ -526,10 +540,10 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# define BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
|
||||
//
|
||||
// last known and checked version:
|
||||
#if (BOOST_INTEL_CXX_VERSION > 1500)
|
||||
#if (BOOST_INTEL_CXX_VERSION > 1700)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# elif defined(_MSC_VER)
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
|
||||
@@ -22,3 +22,11 @@
|
||||
#if !defined(__CUDACC_VER__) || (__CUDACC_VER__ < 70500)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// The same bug is back again in 8.0:
|
||||
#if (__CUDACC_VER__ > 80000) && (__CUDACC_VER__ < 80100)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// Most recent CUDA (8.0) has no constexpr support in msvc mode:
|
||||
#if defined(_MSC_VER)
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
|
||||
@@ -88,6 +88,7 @@
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_SWPRINTF
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
|
||||
@@ -141,6 +141,7 @@
|
||||
//
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
@@ -152,7 +153,7 @@
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
|
||||
@@ -114,6 +114,7 @@
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#if ! __IBMCPP_STATIC_ASSERT
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
|
||||
@@ -190,6 +190,13 @@
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
// C++14 features supported by VC++ 14.1 (Visual Studio 2017)
|
||||
//
|
||||
#if (_MSC_VER < 1910)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
|
||||
// MSVC including version 14 has not yet completely
|
||||
// implemented value-initialization, as is reported:
|
||||
// "VC++ does not value-initialize members of derived classes without
|
||||
@@ -210,13 +217,26 @@
|
||||
// C++ 11:
|
||||
//
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
|
||||
//
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
// Things that don't work in clr mode:
|
||||
//
|
||||
#ifdef _M_CEE
|
||||
#ifndef BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
#ifndef BOOST_NO_SFINAE_EXPR
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
#endif
|
||||
#ifdef _M_CEE_PURE
|
||||
#ifndef BOOST_NO_CXX11_CONSTEXPR
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
|
||||
//
|
||||
@@ -283,8 +303,10 @@
|
||||
# define BOOST_COMPILER_VERSION 11.0
|
||||
# elif _MSC_VER < 1900
|
||||
# define BOOST_COMPILER_VERSION 12.0
|
||||
# elif _MSC_VER < 2000
|
||||
# elif _MSC_VER < 1910
|
||||
# define BOOST_COMPILER_VERSION 14.0
|
||||
# elif _MSC_VER < 1920
|
||||
# define BOOST_COMPILER_VERSION 14.1
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION _MSC_VER
|
||||
# endif
|
||||
@@ -294,8 +316,8 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version is 19.00.23026 (VC++ 2015 RTM):
|
||||
#if (_MSC_VER > 1900)
|
||||
// last known and checked version is 19.10.25017 (VC++ 2017):
|
||||
#if (_MSC_VER > 1910)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
# define BOOST_HAS_SCHED_YIELD
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
# define BOOST_HAS_SIGACTION
|
||||
//# define BOOST_HAS_SIGACTION
|
||||
#else
|
||||
# if !defined(BOOST_HAS_WINTHREADS)
|
||||
# define BOOST_HAS_WINTHREADS
|
||||
@@ -51,7 +51,6 @@
|
||||
#ifdef BOOST_HAS_NL_TYPES_H
|
||||
# undef BOOST_HAS_NL_TYPES_H
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -150,13 +150,24 @@
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#elif __cplusplus < 201402
|
||||
#elif (__cplusplus < 201402) && !defined(_MSC_VER)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
// C++14 features
|
||||
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
#endif
|
||||
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
|
||||
// Intel's compiler can't handle this header yet:
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
@@ -185,6 +196,36 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Things not supported by the CLR:
|
||||
#ifdef _M_CEE
|
||||
#ifndef BOOST_NO_CXX11_HDR_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_HDR_THREAD
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX14_STD_EXCHANGE
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
#endif
|
||||
#ifndef BOOST_NO_FENV_H
|
||||
# define BOOST_NO_FENV_H
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _CPPLIB_VER
|
||||
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
||||
#else
|
||||
|
||||
@@ -72,6 +72,13 @@
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
// C++14 features
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
|
||||
//
|
||||
// Intrinsic type_traits support.
|
||||
// The SGI STL has it's own __type_traits class, which
|
||||
|
||||
@@ -32,10 +32,14 @@
|
||||
#endif
|
||||
|
||||
#if __cplusplus < 201103
|
||||
# define BOOST_NO_CXX11_HDR_ARRAY
|
||||
//
|
||||
// These two appear to be somewhat useable in C++03 mode, there may be others...
|
||||
//
|
||||
//# define BOOST_NO_CXX11_HDR_ARRAY
|
||||
//# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_RANDOM
|
||||
@@ -75,6 +79,19 @@
|
||||
#define BOOST_NO_STD_MESSAGES
|
||||
#endif
|
||||
|
||||
// C++14 features
|
||||
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
#endif
|
||||
|
||||
// C++17 features
|
||||
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
#endif
|
||||
#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
#endif
|
||||
|
||||
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
|
||||
// This is a bit of a sledgehammer, because really it's just libc++abi that has no
|
||||
// support for thread_local, leading to linker errors such as
|
||||
|
||||
@@ -98,10 +98,11 @@
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103)
|
||||
# define BOOST_LIBSTDCXX11
|
||||
#endif
|
||||
|
||||
//
|
||||
// Decide which version of libstdc++ we have, normally
|
||||
// stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
|
||||
// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++
|
||||
// libstdc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
|
||||
// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the libstdc++
|
||||
// developers. He also commented:
|
||||
//
|
||||
// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in
|
||||
@@ -109,7 +110,7 @@
|
||||
// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support
|
||||
// than any release in the 4.2 series."
|
||||
//
|
||||
// Another resource for understanding stdlibc++ features is:
|
||||
// Another resource for understanding libstdc++ features is:
|
||||
// http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x
|
||||
//
|
||||
// However, using the GCC version number fails when the compiler is clang since this
|
||||
@@ -122,7 +123,9 @@
|
||||
//
|
||||
#ifdef __clang__
|
||||
|
||||
#if __has_include(<experimental/any>)
|
||||
#if __has_include(<experimental/memory_resource>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 60100
|
||||
#elif __has_include(<experimental/any>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 50100
|
||||
#elif __has_include(<shared_mutex>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40900
|
||||
@@ -139,6 +142,7 @@
|
||||
#elif __has_include(<array>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40300
|
||||
#endif
|
||||
|
||||
//
|
||||
// GCC 4.8 and 9 add working versions of <atomic> and <regex> respectively.
|
||||
// However, we have no test for these as the headers were present but broken
|
||||
@@ -218,7 +222,7 @@
|
||||
//
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11)
|
||||
// Note that although <chrono> existed prior to 4.7, "steady_clock" is spelled "monotonic_clock"
|
||||
// so 4.7.0 is the first truely conforming one.
|
||||
// so 4.7.0 is the first truly conforming one.
|
||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||
# define BOOST_NO_CXX11_ALLOCATOR
|
||||
#endif
|
||||
@@ -236,6 +240,9 @@
|
||||
// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively.
|
||||
# define BOOST_NO_CXX11_HDR_REGEX
|
||||
#endif
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103)
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
#endif
|
||||
|
||||
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
|
||||
// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
|
||||
@@ -251,6 +258,16 @@
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++17 features in GCC 6.1 and later
|
||||
//
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 60100) || (__cplusplus <= 201402L)
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
#endif
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L)
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
#endif
|
||||
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
|
||||
@@ -61,6 +61,13 @@
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
// C++14 features
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
|
||||
#define BOOST_STDLIB "Modena C++ standard library"
|
||||
|
||||
|
||||
|
||||
@@ -85,4 +85,11 @@
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
// C++14 features
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
|
||||
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
|
||||
|
||||
@@ -196,3 +196,10 @@
|
||||
#else
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
// C++14 features
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
|
||||
@@ -155,4 +155,11 @@
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
#define BOOST_STDLIB "SGI standard library"
|
||||
// C++14 features
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
|
||||
#define BOOST_STDLIB "SGI standard library"
|
||||
|
||||
@@ -245,4 +245,11 @@ namespace boost { using std::min; using std::max; }
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
// C++14 features
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
|
||||
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
|
||||
|
||||
@@ -61,4 +61,11 @@
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
// C++14 features
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
|
||||
#define BOOST_STDLIB "Visual Age default standard library"
|
||||
|
||||
@@ -583,6 +583,25 @@ namespace std{ using ::type_info; }
|
||||
# define BOOST_GPU_ENABLED
|
||||
# endif
|
||||
|
||||
// BOOST_RESTRICT ---------------------------------------------//
|
||||
// Macro to use in place of 'restrict' keyword variants
|
||||
#if !defined(BOOST_RESTRICT)
|
||||
# if defined(_MSC_VER)
|
||||
# define BOOST_RESTRICT __restrict
|
||||
# if !defined(BOOST_NO_RESTRICT_REFERENCES) && (_MSC_FULL_VER < 190023026)
|
||||
# define BOOST_NO_RESTRICT_REFERENCES
|
||||
# endif
|
||||
# elif defined(__GNUC__) && __GNUC__ > 3
|
||||
// Clang also defines __GNUC__ (as 4)
|
||||
# define BOOST_RESTRICT __restrict__
|
||||
# else
|
||||
# define BOOST_RESTRICT
|
||||
# if !defined(BOOST_NO_RESTRICT_REFERENCES)
|
||||
# define BOOST_NO_RESTRICT_REFERENCES
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// BOOST_FORCEINLINE ---------------------------------------------//
|
||||
// Macro to use in place of 'inline' to force a function to be inline
|
||||
#if !defined(BOOST_FORCEINLINE)
|
||||
@@ -604,7 +623,7 @@ namespace std{ using ::type_info; }
|
||||
# elif defined(__GNUC__) && __GNUC__ > 3
|
||||
// Clang also defines __GNUC__ (as 4)
|
||||
# if defined(__CUDACC__)
|
||||
// nvcc doesn't always parse __noinline__,
|
||||
// nvcc doesn't always parse __noinline__,
|
||||
// see: https://svn.boost.org/trac/boost/ticket/9392
|
||||
# define BOOST_NOINLINE __attribute__ ((noinline))
|
||||
# else
|
||||
|
||||
@@ -85,6 +85,11 @@
|
||||
#else
|
||||
#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0
|
||||
#endif
|
||||
#ifndef BOOST_GCC
|
||||
#define BOOST_GCC_WORKAROUND_GUARD 1
|
||||
#else
|
||||
#define BOOST_GCC_WORKAROUND_GUARD 0
|
||||
#endif
|
||||
#ifndef __IBMCPP__
|
||||
#define __IBMCPP___WORKAROUND_GUARD 1
|
||||
#else
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
// BOOST_VERSION / 100 % 1000 is the minor version
|
||||
// BOOST_VERSION / 100000 is the major version
|
||||
|
||||
#define BOOST_VERSION 106200
|
||||
#define BOOST_VERSION 106400
|
||||
|
||||
//
|
||||
// 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.
|
||||
// This is used by <config/auto_link.hpp> to select which library version to link to.
|
||||
|
||||
#define BOOST_LIB_VERSION "1_62"
|
||||
#define BOOST_LIB_VERSION "1_64"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Regression test Jamfile for boost configuration setup.
|
||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||
# This file was automatically generated on Fri Jul 1 18:47:25 2016
|
||||
# This file was automatically generated on Sun Feb 5 19:09:22 2017
|
||||
# by libs/config/tools/generate.cpp
|
||||
# Copyright John Maddock.
|
||||
# Use, modification and distribution are subject to the
|
||||
@@ -313,6 +313,9 @@ test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
|
||||
test-suite "BOOST_NO_CXX11_REF_QUALIFIERS" :
|
||||
[ run ../no_cxx11_ref_qualifiers_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_ref_qualifiers_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_SFINAE_EXPR" :
|
||||
[ run ../no_cxx11_sfinae_expr_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_sfinae_expr_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_SMART_PTR" :
|
||||
[ run ../no_cxx11_smart_ptr_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_smart_ptr_fail.cpp ] ;
|
||||
@@ -355,9 +358,18 @@ test-suite "BOOST_NO_CXX14_AGGREGATE_NSDMI" :
|
||||
test-suite "BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION" :
|
||||
[ run ../no_cxx14_return_type_ded_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_return_type_ded_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX14_STD_EXCHANGE" :
|
||||
[ run ../no_cxx14_std_exchange_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_std_exchange_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" :
|
||||
[ run ../no_cxx14_var_templ_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_var_templ_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX17_STD_APPLY" :
|
||||
[ run ../no_cxx17_std_apply_pass.cpp ]
|
||||
[ compile-fail ../no_cxx17_std_apply_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX17_STD_INVOKE" :
|
||||
[ run ../no_cxx17_std_invoke_pass.cpp ]
|
||||
[ compile-fail ../no_cxx17_std_invoke_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_HDR_FUNCTIONAL" :
|
||||
[ run ../no_cxx_hdr_functional_pass.cpp ]
|
||||
[ compile-fail ../no_cxx_hdr_functional_fail.cpp ] ;
|
||||
@@ -493,6 +505,9 @@ test-suite "BOOST_NO_CXX11_RANGE_BASED_FOR" :
|
||||
test-suite "BOOST_NO_CXX11_RAW_LITERALS" :
|
||||
[ run ../no_raw_literals_pass.cpp ]
|
||||
[ compile-fail ../no_raw_literals_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_RESTRICT_REFERENCES" :
|
||||
[ run ../no_restrict_references_pass.cpp ]
|
||||
[ compile-fail ../no_restrict_references_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
|
||||
[ run ../no_ret_det_pass.cpp ]
|
||||
[ compile-fail ../no_ret_det_fail.cpp ] ;
|
||||
|
||||
46
test/boost_no_cxx11_sfinae_expr.ipp
Normal file
46
test/boost_no_cxx11_sfinae_expr.ipp
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Copyright 2017 Glen Joseph Fernandes
|
||||
(glenjofe@gmail.com)
|
||||
|
||||
Distributed under Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE_1_0.txt or copy at
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
|
||||
// MACRO: BOOST_NO_CXX11_SFINAE_EXPR
|
||||
// TITLE: C++11 SFINAE for expressions
|
||||
// DESCRIPTION: C++11 SFINAE for expressions not supported.
|
||||
|
||||
namespace boost_no_cxx11_sfinae_expr {
|
||||
|
||||
template<class>
|
||||
struct ignore {
|
||||
typedef void type;
|
||||
};
|
||||
|
||||
template<class T>
|
||||
T& object();
|
||||
|
||||
template<class T, class E = void>
|
||||
struct trait {
|
||||
static const int value = 0;
|
||||
};
|
||||
|
||||
template<class T>
|
||||
struct trait<T, typename ignore<decltype(&object<T>())>::type> { };
|
||||
|
||||
template<class T>
|
||||
struct result {
|
||||
static const int value = T::value;
|
||||
};
|
||||
|
||||
class type {
|
||||
void operator&() const { }
|
||||
};
|
||||
|
||||
int test()
|
||||
{
|
||||
return result<trait<type> >::value;
|
||||
}
|
||||
|
||||
} /* boost_no_cxx11_sfinae_expr */
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 2014
|
||||
// (C) Copyright Kohei Takahashi 2014,2016
|
||||
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
@@ -17,6 +17,15 @@ namespace boost_no_cxx14_constexpr
|
||||
namespace detail
|
||||
{
|
||||
template <class> struct void_ { typedef void type; };
|
||||
|
||||
struct non_tmpl
|
||||
{
|
||||
constexpr int foo() const { return 1; }
|
||||
constexpr int foo() { return 0; }
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct tmpl : non_tmpl { };
|
||||
}
|
||||
|
||||
// Test relaxed constexpr with dependent type; for more details, see comment of
|
||||
@@ -27,6 +36,17 @@ constexpr typename detail::void_<T>::type decrement(T &value)
|
||||
--value;
|
||||
}
|
||||
|
||||
constexpr int non_cv_member(detail::non_tmpl x)
|
||||
{
|
||||
return x.foo();
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
constexpr int non_cv_member(detail::tmpl<T> x)
|
||||
{
|
||||
return x.foo();
|
||||
}
|
||||
|
||||
constexpr int zero()
|
||||
{
|
||||
int ret = 1;
|
||||
@@ -34,9 +54,18 @@ constexpr int zero()
|
||||
return ret;
|
||||
}
|
||||
|
||||
template <int v> struct compile_time_value
|
||||
{
|
||||
static constexpr int value = v;
|
||||
};
|
||||
|
||||
int test()
|
||||
{
|
||||
return zero();
|
||||
return compile_time_value<
|
||||
zero()
|
||||
+ non_cv_member(detail::non_tmpl())
|
||||
+ non_cv_member(detail::tmpl<int>())
|
||||
>::value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
23
test/boost_no_cxx14_std_exchange.ipp
Normal file
23
test/boost_no_cxx14_std_exchange.ipp
Normal file
@@ -0,0 +1,23 @@
|
||||
// (C) Copyright Oliver Kowalke 2016.
|
||||
// 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_CXX14_STD_EXCHANGE
|
||||
// TITLE: apply
|
||||
// DESCRIPTION: The compiler supports the std::exchange() function.
|
||||
|
||||
#include <utility>
|
||||
|
||||
namespace boost_no_cxx14_std_exchange {
|
||||
|
||||
int test() {
|
||||
int * i = new int( 1);
|
||||
int * j = std::exchange( i, nullptr);
|
||||
delete j;
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
28
test/boost_no_cxx17_std_apply.ipp
Normal file
28
test/boost_no_cxx17_std_apply.ipp
Normal file
@@ -0,0 +1,28 @@
|
||||
// (C) Copyright Oliver Kowalke 2016.
|
||||
// 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_CXX17_STD_APPLY
|
||||
// TITLE: apply
|
||||
// DESCRIPTION: The compiler supports the std::apply() function.
|
||||
|
||||
#include <functional>
|
||||
#include <tuple>
|
||||
|
||||
namespace boost_no_cxx17_std_apply {
|
||||
|
||||
int foo( int i, int j) {
|
||||
return i + j;
|
||||
}
|
||||
|
||||
int test() {
|
||||
int i = 1, j = 2;
|
||||
std::apply( foo, std::make_tuple( i, j) );
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
27
test/boost_no_cxx17_std_invoke.ipp
Normal file
27
test/boost_no_cxx17_std_invoke.ipp
Normal file
@@ -0,0 +1,27 @@
|
||||
// (C) Copyright Oliver Kowalke 2016.
|
||||
// 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_CXX17_STD_INVOKE
|
||||
// TITLE: invoke
|
||||
// DESCRIPTION: The compiler supports the std::invoke() function.
|
||||
|
||||
#include <functional>
|
||||
|
||||
namespace boost_no_cxx17_std_invoke {
|
||||
|
||||
int foo( int i, int j) {
|
||||
return i + j;
|
||||
}
|
||||
|
||||
int test() {
|
||||
int i = 1, j = 2;
|
||||
std::invoke( foo, i, j);
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
47
test/boost_no_restrict_references.ipp
Normal file
47
test/boost_no_restrict_references.ipp
Normal file
@@ -0,0 +1,47 @@
|
||||
// (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_RESTRICT_REFERENCES
|
||||
// TITLE: We cannot apply BOOST_RESTRICT to a reference type.
|
||||
// DESCRIPTION: We cannot apply BOOST_RESTRICT to a reference type
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
namespace boost_no_restrict_references {
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(error:4227)
|
||||
#endif
|
||||
|
||||
|
||||
void sum2(int (& BOOST_RESTRICT a)[4], int (& BOOST_RESTRICT b)[4], int (&c)[4], int (&d)[4]) {
|
||||
int i;
|
||||
for (i = 0; i < 4; i++) {
|
||||
a[i] = b[i] + c[i];
|
||||
c[i] = b[i] + d[i];
|
||||
}
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
int a[4] = { 1, 2, 3, 4 };
|
||||
int b[4] = { 3, 4, 5, 6 };
|
||||
int c[4] = { 0, 1, 3, 5 };
|
||||
int d[4] = { 2, 4, 6, 8 };
|
||||
|
||||
sum2(a, b, c, d);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default:4227)
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
@@ -1053,6 +1053,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_SFINAE_EXPR);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN);
|
||||
@@ -1073,7 +1074,10 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
|
||||
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
|
||||
PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY);
|
||||
PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE);
|
||||
PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS);
|
||||
PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS);
|
||||
PRINT_MACRO(BOOST_NO_EXCEPTIONS);
|
||||
@@ -1103,6 +1107,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
|
||||
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
|
||||
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
|
||||
PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES);
|
||||
PRINT_MACRO(BOOST_NO_RTTI);
|
||||
PRINT_MACRO(BOOST_NO_SFINAE);
|
||||
PRINT_MACRO(BOOST_NO_SFINAE_EXPR);
|
||||
@@ -1141,6 +1146,13 @@ void print_boost_macros()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// END GENERATED BLOCK
|
||||
|
||||
PRINT_MACRO(BOOST_INTEL);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// This file was automatically generated on Fri Jul 1 18:47:25 2016
|
||||
// This file was automatically generated on Sun Feb 5 19:09:22 2017
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Use, modification and distribution are subject to the
|
||||
@@ -242,6 +242,11 @@ namespace boost_no_cxx11_numeric_limits = empty_boost;
|
||||
#else
|
||||
namespace boost_no_cxx11_ref_qualifiers = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#include "boost_no_cxx11_sfinae_expr.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx11_sfinae_expr = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_SMART_PTR
|
||||
#include "boost_no_cxx11_smart_ptr.ipp"
|
||||
#else
|
||||
@@ -312,11 +317,26 @@ namespace boost_no_cxx14_aggregate_nsdmi = empty_boost;
|
||||
#else
|
||||
namespace boost_no_cxx14_return_type_deduction = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX14_STD_EXCHANGE
|
||||
#include "boost_no_cxx14_std_exchange.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx14_std_exchange = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#include "boost_no_cxx14_var_templ.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx14_variable_templates = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX17_STD_APPLY
|
||||
#include "boost_no_cxx17_std_apply.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx17_std_apply = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX17_STD_INVOKE
|
||||
#include "boost_no_cxx17_std_invoke.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx17_std_invoke = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
#include "boost_no_cxx_hdr_functional.ipp"
|
||||
#else
|
||||
@@ -542,6 +562,11 @@ namespace boost_no_cxx11_range_based_for = empty_boost;
|
||||
#else
|
||||
namespace boost_no_cxx11_raw_literals = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_RESTRICT_REFERENCES
|
||||
#include "boost_no_restrict_references.ipp"
|
||||
#else
|
||||
namespace boost_no_restrict_references = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
#include "boost_no_ret_det.ipp"
|
||||
#else
|
||||
@@ -1486,6 +1511,11 @@ int main( int, char *[] )
|
||||
std::cerr << "Failed test for BOOST_NO_CXX11_REF_QUALIFIERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx11_sfinae_expr::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX11_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx11_smart_ptr::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX11_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
@@ -1556,11 +1586,26 @@ int main( int, char *[] )
|
||||
std::cerr << "Failed test for BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx14_std_exchange::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX14_STD_EXCHANGE at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx14_variable_templates::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX14_VARIABLE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx17_std_apply::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX17_STD_APPLY at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx17_std_invoke::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX17_STD_INVOKE at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx11_hdr_functional::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FUNCTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
@@ -1786,6 +1831,11 @@ int main( int, char *[] )
|
||||
std::cerr << "Failed test for BOOST_NO_CXX11_RAW_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_restrict_references::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_RESTRICT_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_unreachable_return_detection::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
|
||||
37
test/no_cxx11_sfinae_expr_fail.cpp
Normal file
37
test/no_cxx11_sfinae_expr_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Sat Feb 4 00:49:07 2017
|
||||
// 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_SFINAE_EXPR
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX11_SFINAE_EXPR should not be defined.
|
||||
// See file boost_no_cxx11_sfinae_expr.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_SFINAE_EXPR
|
||||
#include "boost_no_cxx11_sfinae_expr.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_sfinae_expr::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx11_sfinae_expr_pass.cpp
Normal file
37
test/no_cxx11_sfinae_expr_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Sat Feb 4 00:49:07 2017
|
||||
// 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_SFINAE_EXPR
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX11_SFINAE_EXPR should be defined.
|
||||
// See file boost_no_cxx11_sfinae_expr.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_SFINAE_EXPR
|
||||
#include "boost_no_cxx11_sfinae_expr.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx11_sfinae_expr = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_sfinae_expr::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx14_std_exchange_fail.cpp
Normal file
37
test/no_cxx14_std_exchange_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||
// 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_CXX17_STD_APPLY
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX17_STD_APPLY should not be defined.
|
||||
// See file boost_no_cxx17_std_apply.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_CXX14_STD_EXCHANGE
|
||||
#include "boost_no_cxx14_std_exchange.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx14_std_exchange::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx14_std_exchange_pass.cpp
Normal file
37
test/no_cxx14_std_exchange_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||
// 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_CXX17_STD_APPLY
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX!/_STD_APPLY should be defined.
|
||||
// See file boost_no_cxx17_std_apply.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_CXX14_STD_EXCHANGE
|
||||
#include "boost_no_cxx14_std_exchange.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx14_std_exchange = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx14_std_exchange::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx17_std_apply_fail.cpp
Normal file
37
test/no_cxx17_std_apply_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||
// 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_CXX17_STD_APPLY
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX17_STD_APPLY should not be defined.
|
||||
// See file boost_no_cxx17_std_apply.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_CXX17_STD_APPLY
|
||||
#include "boost_no_cxx17_std_apply.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx17_std_apply::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx17_std_apply_pass.cpp
Normal file
37
test/no_cxx17_std_apply_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||
// 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_CXX17_STD_APPLY
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX!/_STD_APPLY should be defined.
|
||||
// See file boost_no_cxx17_std_apply.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_CXX17_STD_APPLY
|
||||
#include "boost_no_cxx17_std_apply.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx17_std_apply = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx17_std_apply::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx17_std_invoke_fail.cpp
Normal file
37
test/no_cxx17_std_invoke_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||
// 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_CXX17_STD_INVOKE
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_STD_INVOKE should not be defined.
|
||||
// See file boost_no_cxx17_std_invoke.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_CXX17_STD_INVOKE
|
||||
#include "boost_no_cxx17_std_invoke.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx17_std_invoke::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx17_std_invoke_pass.cpp
Normal file
37
test/no_cxx17_std_invoke_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Oct 14 12:13:46 2016
|
||||
// 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_CXX17_STD_INVOKE
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_STD_INVOKE should be defined.
|
||||
// See file boost_no_cxx17_std_invoke.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_CXX17_STD_INVOKE
|
||||
#include "boost_no_cxx17_std_invoke.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx17_std_invoke = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx17_std_invoke::test();
|
||||
}
|
||||
|
||||
37
test/no_restrict_references_fail.cpp
Normal file
37
test/no_restrict_references_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Sun Feb 5 18:12:09 2017
|
||||
// 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_RESTRICT_REFERENCES
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_RESTRICT_REFERENCES should not be defined.
|
||||
// See file boost_no_restrict_references.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_RESTRICT_REFERENCES
|
||||
#include "boost_no_restrict_references.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_restrict_references::test();
|
||||
}
|
||||
|
||||
37
test/no_restrict_references_pass.cpp
Normal file
37
test/no_restrict_references_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Sun Feb 5 18:12:09 2017
|
||||
// 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_RESTRICT_REFERENCES
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_RESTRICT_REFERENCES should be defined.
|
||||
// See file boost_no_restrict_references.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_RESTRICT_REFERENCES
|
||||
#include "boost_no_restrict_references.ipp"
|
||||
#else
|
||||
namespace boost_no_restrict_references = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_restrict_references::test();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user