forked from boostorg/config
Merge branch 'develop'
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||||
# This file was automatically generated on Mon Dec 12 19:37:08 2016
|
# This file was automatically generated on Sun Feb 5 18:12:09 2017
|
||||||
# by libs/config/tools/generate.cpp
|
# by libs/config/tools/generate.cpp
|
||||||
# Copyright John Maddock.
|
# Copyright John Maddock.
|
||||||
# Use, modification and distribution are subject to the
|
# Use, modification and distribution are subject to the
|
||||||
@@ -179,6 +179,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_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_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_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_UNREACHABLE_RETURN_DETECTION : unreachable_return_detection ;
|
||||||
run-simple <define>TEST_BOOST_NO_RTTI : rtti ;
|
run-simple <define>TEST_BOOST_NO_RTTI : rtti ;
|
||||||
run-simple <define>TEST_BOOST_NO_CXX11_RVALUE_REFERENCES : cxx11_rvalue_references ;
|
run-simple <define>TEST_BOOST_NO_CXX11_RVALUE_REFERENCES : cxx11_rvalue_references ;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// This file was automatically generated on Mon Dec 12 19:37:08 2016
|
// This file was automatically generated on Sun Feb 5 18:12:09 2017
|
||||||
// by libs/config/tools/generate.cpp
|
// by libs/config/tools/generate.cpp
|
||||||
// Copyright John Maddock 2002-4.
|
// Copyright John Maddock 2002-4.
|
||||||
// Use, modification and distribution are subject to the
|
// Use, modification and distribution are subject to the
|
||||||
@@ -649,6 +649,10 @@ namespace test = boost_no_cxx11_range_based_for;
|
|||||||
# include "../test/boost_no_raw_literals.ipp"
|
# include "../test/boost_no_raw_literals.ipp"
|
||||||
namespace test = boost_no_cxx11_raw_literals;
|
namespace test = boost_no_cxx11_raw_literals;
|
||||||
#endif
|
#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
|
#ifdef TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||||
# include "../test/boost_no_ret_det.ipp"
|
# include "../test/boost_no_ret_det.ipp"
|
||||||
namespace test = boost_no_unreachable_return_detection;
|
namespace test = boost_no_unreachable_return_detection;
|
||||||
|
@@ -41,6 +41,8 @@
|
|||||||
that describe C++14 features not supported</a></span></dt>
|
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
|
<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>
|
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
|
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
|
||||||
Helper Macros</a></span></dt>
|
Helper Macros</a></span></dt>
|
||||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
|
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
|
||||||
@@ -813,6 +815,24 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<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>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_NO_RTTI</span></code>
|
<code class="computeroutput"><span class="identifier">BOOST_NO_RTTI</span></code>
|
||||||
@@ -3715,6 +3735,46 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<div class="titlepage"><div><div><h3 class="title">
|
<div class="titlepage"><div><div><h3 class="title">
|
||||||
|
<a name="boost_config.boost_macro_reference.macros_that_describe_c__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
|
<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>
|
Helper Macros</a>
|
||||||
</h3></div></div></div>
|
</h3></div></div></div>
|
||||||
@@ -4121,6 +4181,35 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<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>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_FORCEINLINE</span></code>
|
<code class="computeroutput"><span class="identifier">BOOST_FORCEINLINE</span></code>
|
||||||
|
@@ -72,6 +72,8 @@
|
|||||||
that describe C++14 features not supported</a></span></dt>
|
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
|
<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>
|
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
|
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
|
||||||
Helper Macros</a></span></dt>
|
Helper Macros</a></span></dt>
|
||||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
|
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
|
||||||
@@ -988,7 +990,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: July 02, 2016 at 08:07:27 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: February 05, 2017 at 19:01:00 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>
|
||||||
|
@@ -209,6 +209,9 @@ Pointers to members don't work when used as template parameters.
|
|||||||
The compiler misreads 8.5.1, treating classes as non-aggregate if they
|
The compiler misreads 8.5.1, treating classes as non-aggregate if they
|
||||||
contain private or protected member functions.
|
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][
|
[[`BOOST_NO_RTTI`][Compiler][
|
||||||
The compiler may (or may not) have the typeid operator, but RTTI on the dynamic type
|
The compiler may (or may not) have the typeid operator, but RTTI on the dynamic type
|
||||||
of an object is not supported.
|
of an object is not supported.
|
||||||
@@ -1150,6 +1153,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
|
used to create a mangled name in combination with a predefined macro such a
|
||||||
\_\_LINE__.
|
\_\_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`][
|
[[`BOOST_FORCEINLINE`][
|
||||||
This macro can be used in place of the `inline` keyword to instruct the compiler
|
This macro can be used in place of the `inline` keyword to instruct the compiler
|
||||||
that the function should always be inlined.
|
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:
|
// vc12:
|
||||||
# define BOOST_LIB_TOOLSET "vc120"
|
# define BOOST_LIB_TOOLSET "vc120"
|
||||||
|
|
||||||
|
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910)
|
||||||
|
|
||||||
|
// vc14:
|
||||||
|
# define BOOST_LIB_TOOLSET "vc140"
|
||||||
|
|
||||||
# elif defined(BOOST_MSVC)
|
# elif defined(BOOST_MSVC)
|
||||||
|
|
||||||
// vc14:
|
// vc15:
|
||||||
# define BOOST_LIB_TOOLSET "vc140"
|
# define BOOST_LIB_TOOLSET "vc150"
|
||||||
|
|
||||||
# elif defined(__BORLANDC__)
|
# elif defined(__BORLANDC__)
|
||||||
|
|
||||||
|
@@ -39,15 +39,20 @@
|
|||||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else // defined(_MSC_VER)
|
||||||
|
|
||||||
#include <boost/config/compiler/gcc.hpp>
|
#include <boost/config/compiler/gcc.hpp>
|
||||||
|
|
||||||
#undef BOOST_GCC_VERSION
|
#undef BOOST_GCC_VERSION
|
||||||
#undef BOOST_GCC_CXX11
|
#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
|
||||||
|
|
||||||
|
#endif // defined(_MSC_VER)
|
||||||
|
|
||||||
#undef BOOST_COMPILER
|
#undef BOOST_COMPILER
|
||||||
|
|
||||||
#if defined(__INTEL_COMPILER)
|
#if defined(__INTEL_COMPILER)
|
||||||
@@ -92,7 +97,7 @@
|
|||||||
# define BOOST_INTEL_LINUX BOOST_INTEL
|
# define BOOST_INTEL_LINUX BOOST_INTEL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
|
||||||
|
|
||||||
#include <boost/config/compiler/common_edg.hpp>
|
#include <boost/config/compiler/common_edg.hpp>
|
||||||
|
|
||||||
@@ -483,7 +488,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
|||||||
# undef BOOST_NO_CXX11_FINAL
|
# undef BOOST_NO_CXX11_FINAL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif // defined(BOOST_INTEL_STDCXX0X)
|
||||||
|
|
||||||
//
|
//
|
||||||
// Broken in all versions up to 15:
|
// Broken in all versions up to 15:
|
||||||
@@ -500,11 +505,6 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
|||||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Broken in all versions up to 17:
|
|
||||||
#if !defined(BOOST_NO_CXX14_CONSTEXPR)
|
|
||||||
#define BOOST_NO_CXX14_CONSTEXPR
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (BOOST_INTEL_CXX_VERSION < 1200)
|
#if (BOOST_INTEL_CXX_VERSION < 1200)
|
||||||
//
|
//
|
||||||
// fenv.h appears not to work with Intel prior to 12.0:
|
// fenv.h appears not to work with Intel prior to 12.0:
|
||||||
@@ -535,10 +535,10 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
|||||||
# define BOOST_HAS_INT128
|
# define BOOST_HAS_INT128
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
|
||||||
//
|
//
|
||||||
// last known and checked version:
|
// last known and checked version:
|
||||||
#if (BOOST_INTEL_CXX_VERSION > 1500)
|
#if (BOOST_INTEL_CXX_VERSION > 1700)
|
||||||
# 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"
|
||||||
# elif defined(_MSC_VER)
|
# elif defined(_MSC_VER)
|
||||||
|
@@ -218,6 +218,26 @@
|
|||||||
//
|
//
|
||||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// prefix and suffix headers:
|
// prefix and suffix headers:
|
||||||
//
|
//
|
||||||
|
@@ -23,7 +23,7 @@
|
|||||||
# define BOOST_HAS_SCHED_YIELD
|
# define BOOST_HAS_SCHED_YIELD
|
||||||
# define BOOST_HAS_GETTIMEOFDAY
|
# define BOOST_HAS_GETTIMEOFDAY
|
||||||
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||||
# define BOOST_HAS_SIGACTION
|
//# define BOOST_HAS_SIGACTION
|
||||||
#else
|
#else
|
||||||
# if !defined(BOOST_HAS_WINTHREADS)
|
# if !defined(BOOST_HAS_WINTHREADS)
|
||||||
# define BOOST_HAS_WINTHREADS
|
# define BOOST_HAS_WINTHREADS
|
||||||
@@ -55,4 +55,3 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -196,6 +196,36 @@
|
|||||||
# endif
|
# endif
|
||||||
#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
|
#ifdef _CPPLIB_VER
|
||||||
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
||||||
#else
|
#else
|
||||||
|
@@ -101,8 +101,8 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Decide which version of libstdc++ we have, normally
|
// Decide which version of libstdc++ we have, normally
|
||||||
// stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
|
// libstdc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
|
||||||
// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++
|
// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the libstdc++
|
||||||
// developers. He also commented:
|
// developers. He also commented:
|
||||||
//
|
//
|
||||||
// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in
|
// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support
|
// 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."
|
// 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
|
// 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
|
// However, using the GCC version number fails when the compiler is clang since this
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
//
|
//
|
||||||
#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11)
|
#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11)
|
||||||
// Note that although <chrono> existed prior to 4.7, "steady_clock" is spelled "monotonic_clock"
|
// 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_HDR_CHRONO
|
||||||
# define BOOST_NO_CXX11_ALLOCATOR
|
# define BOOST_NO_CXX11_ALLOCATOR
|
||||||
#endif
|
#endif
|
||||||
|
@@ -583,6 +583,25 @@ namespace std{ using ::type_info; }
|
|||||||
# define BOOST_GPU_ENABLED
|
# define BOOST_GPU_ENABLED
|
||||||
# endif
|
# 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 ---------------------------------------------//
|
// BOOST_FORCEINLINE ---------------------------------------------//
|
||||||
// Macro to use in place of 'inline' to force a function to be inline
|
// Macro to use in place of 'inline' to force a function to be inline
|
||||||
#if !defined(BOOST_FORCEINLINE)
|
#if !defined(BOOST_FORCEINLINE)
|
||||||
|
@@ -85,6 +85,11 @@
|
|||||||
#else
|
#else
|
||||||
#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0
|
#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef BOOST_GCC
|
||||||
|
#define BOOST_GCC_WORKAROUND_GUARD 1
|
||||||
|
#else
|
||||||
|
#define BOOST_GCC_WORKAROUND_GUARD 0
|
||||||
|
#endif
|
||||||
#ifndef __IBMCPP__
|
#ifndef __IBMCPP__
|
||||||
#define __IBMCPP___WORKAROUND_GUARD 1
|
#define __IBMCPP___WORKAROUND_GUARD 1
|
||||||
#else
|
#else
|
||||||
|
@@ -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 106300
|
#define BOOST_VERSION 106400
|
||||||
|
|
||||||
//
|
//
|
||||||
// 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_63"
|
#define BOOST_LIB_VERSION "1_64"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Regression test Jamfile for boost configuration setup.
|
# Regression test Jamfile for boost configuration setup.
|
||||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||||
# This file was automatically generated on Mon Dec 12 19:37:08 2016
|
# This file was automatically generated on Sun Feb 5 18:12:09 2017
|
||||||
# by libs/config/tools/generate.cpp
|
# by libs/config/tools/generate.cpp
|
||||||
# Copyright John Maddock.
|
# Copyright John Maddock.
|
||||||
# Use, modification and distribution are subject to the
|
# Use, modification and distribution are subject to the
|
||||||
@@ -502,6 +502,9 @@ test-suite "BOOST_NO_CXX11_RANGE_BASED_FOR" :
|
|||||||
test-suite "BOOST_NO_CXX11_RAW_LITERALS" :
|
test-suite "BOOST_NO_CXX11_RAW_LITERALS" :
|
||||||
[ run ../no_raw_literals_pass.cpp ]
|
[ run ../no_raw_literals_pass.cpp ]
|
||||||
[ compile-fail ../no_raw_literals_fail.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" :
|
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
|
||||||
[ run ../no_ret_det_pass.cpp ]
|
[ run ../no_ret_det_pass.cpp ]
|
||||||
[ compile-fail ../no_ret_det_fail.cpp ] ;
|
[ compile-fail ../no_ret_det_fail.cpp ] ;
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@@ -1106,6 +1106,7 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
|
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
|
||||||
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
|
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
|
||||||
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
|
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
|
||||||
|
PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES);
|
||||||
PRINT_MACRO(BOOST_NO_RTTI);
|
PRINT_MACRO(BOOST_NO_RTTI);
|
||||||
PRINT_MACRO(BOOST_NO_SFINAE);
|
PRINT_MACRO(BOOST_NO_SFINAE);
|
||||||
PRINT_MACRO(BOOST_NO_SFINAE_EXPR);
|
PRINT_MACRO(BOOST_NO_SFINAE_EXPR);
|
||||||
@@ -1149,6 +1150,7 @@ void print_boost_macros()
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// END GENERATED BLOCK
|
// END GENERATED BLOCK
|
||||||
|
|
||||||
PRINT_MACRO(BOOST_INTEL);
|
PRINT_MACRO(BOOST_INTEL);
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// This file was automatically generated on Mon Dec 12 19:37:08 2016
|
// This file was automatically generated on Sun Feb 5 18:12:09 2017
|
||||||
// by libs/config/tools/generate.cpp
|
// by libs/config/tools/generate.cpp
|
||||||
// Copyright John Maddock 2002-4.
|
// Copyright John Maddock 2002-4.
|
||||||
// Use, modification and distribution are subject to the
|
// Use, modification and distribution are subject to the
|
||||||
@@ -557,6 +557,11 @@ namespace boost_no_cxx11_range_based_for = empty_boost;
|
|||||||
#else
|
#else
|
||||||
namespace boost_no_cxx11_raw_literals = empty_boost;
|
namespace boost_no_cxx11_raw_literals = empty_boost;
|
||||||
#endif
|
#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
|
#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||||
#include "boost_no_ret_det.ipp"
|
#include "boost_no_ret_det.ipp"
|
||||||
#else
|
#else
|
||||||
@@ -1816,6 +1821,11 @@ int main( int, char *[] )
|
|||||||
std::cerr << "Failed test for BOOST_NO_CXX11_RAW_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_CXX11_RAW_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
++error_count;
|
++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())
|
if(0 != boost_no_unreachable_return_detection::test())
|
||||||
{
|
{
|
||||||
std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
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