mirror of
https://github.com/boostorg/config.git
synced 2026-03-07 14:24:10 +01:00
Compare commits
31 Commits
boost-1.81
...
boost-1.82
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
429c1982d4 | ||
|
|
ab271393a7 | ||
|
|
1f4e789023 | ||
|
|
42e1b11952 | ||
|
|
ceae87e4c0 | ||
|
|
e215d5ba55 | ||
|
|
6614ccbef3 | ||
|
|
ed87737c13 | ||
|
|
e6cf358f57 | ||
|
|
c3efdb4bb8 | ||
|
|
dbd0a4776d | ||
|
|
9915163609 | ||
|
|
3a0f869732 | ||
|
|
b9a3ecaa14 | ||
|
|
a63de62c1f | ||
|
|
ebaf02e31b | ||
|
|
3ecedc9602 | ||
|
|
8c6226cafd | ||
|
|
1a531cec40 | ||
|
|
25932592fe | ||
|
|
2703431699 | ||
|
|
7cd570492f | ||
|
|
56e7a0e49d | ||
|
|
7b1f52c85e | ||
|
|
5566315316 | ||
|
|
72a2549a89 | ||
|
|
a16675b5a4 | ||
|
|
ac95706e51 | ||
|
|
3a8ecbb390 | ||
|
|
73cc60c503 | ||
|
|
5ee97d22d9 |
@@ -45,6 +45,7 @@ def main(ctx):
|
||||
linux_cxx("clang++-10 03,11,14,17,20", "clang++-10", packages="clang-10", llvm_os="xenial", llvm_ver="10", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-10', 'CXXSTD': '03,11,14,17,20', }, globalenv=globalenv),
|
||||
osx_cxx("XCode-11.7 03,11,17,2a", "clang++", packages="", buildtype="boost", xcode_version="11.7", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
|
||||
osx_cxx("XCode-10.2 03,11,17,2a", "clang++", packages="", buildtype="boost", xcode_version="10.2", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
|
||||
osx_cxx("XCode-9.4.1 03,11,14,17", "clang++", packages="", buildtype="boost", xcode_version="9.4.1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17', }, globalenv=globalenv),
|
||||
]
|
||||
|
||||
# from https://github.com/boostorg/boost-ci
|
||||
|
||||
@@ -33,8 +33,6 @@
|
||||
that describe C++03 defects</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
|
||||
that describe optional features</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c___future_features">Macros
|
||||
that describe possible C++ future features</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__11_features_not_supported">Macros
|
||||
that describe C++11 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__11_features_with_c__03_compilers">Macros
|
||||
@@ -2559,46 +2557,6 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_config.boost_macro_reference.macros_that_describe_possible_c___future_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c___future_features" title="Macros that describe possible C++ future features">Macros
|
||||
that describe possible C++ future features</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following macros describe features that may be included in some future
|
||||
ISO C++ standard, but have not yet been approved for inclusion in the language.
|
||||
</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_HAS_CONCEPTS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler supports concepts.
|
||||
</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.macros_that_describe_c__11_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__11_features_not_supported" title="Macros that describe C++11 features not supported">Macros
|
||||
that describe C++11 features not supported</a>
|
||||
</h3></div></div></div>
|
||||
@@ -2650,6 +2608,19 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ALIGNOF</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the <code class="computeroutput"><span class="keyword">alignof</span></code>
|
||||
keyword.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ALLOCATOR</span></code>
|
||||
@@ -2915,7 +2886,9 @@
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library does not provide header <codecvt>.
|
||||
The standard library does not provide header <codecvt>. Note
|
||||
that this header is deprecated post C++17, and therefore the macro
|
||||
may be set as a result of the feature being deliberately removed.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -3805,6 +3778,19 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NULLPTR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
If <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_NULLPTR</span></code>
|
||||
is not defined (i.e. C++11 compliant compilers), expands to <code class="computeroutput"><span class="keyword">nullptr</span></code>, otherwise expands to <code class="computeroutput"><span class="number">0</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@@ -4222,6 +4208,19 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_DEDUCTION_GUIDES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support class template argument deduction
|
||||
(CTAD) guides.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@@ -4356,7 +4355,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the header <code class="computeroutput"><span class="special"><</span><span class="identifier">format</span><span class="special">></span></code>.
|
||||
The compiler does not support the header <code class="computeroutput"><span class="special"><</span><span class="identifier">source_location</span><span class="special">></span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -4452,7 +4451,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the header <code class="computeroutput"><span class="special"><</span><span class="identifier">range</span><span class="special">></span></code>.
|
||||
The compiler does not support the header <code class="computeroutput"><span class="special"><</span><span class="identifier">ranges</span><span class="special">></span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -4492,6 +4491,18 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX20_HDR_VERSION</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the header <code class="computeroutput"><span class="special"><</span><span class="identifier">version</span><span class="special">></span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@@ -4590,6 +4601,19 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_CODECVT</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library no longer supports <code class="computeroutput"><span class="special"><</span><span class="identifier">codecvt</span><span class="special">></span></code>,
|
||||
there is as yet no replacement.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@@ -4824,8 +4848,8 @@
|
||||
<span class="keyword">case</span> <span class="number">41</span><span class="special">:</span>
|
||||
<span class="keyword">if</span> <span class="special">(</span><span class="identifier">truth_is_out_there</span><span class="special">)</span> <span class="special">{</span>
|
||||
<span class="special">++</span><span class="identifier">x</span><span class="special">;</span>
|
||||
<span class="identifier">BOOST_FALLTHROUGH</span><span class="special">;</span> <span class="comment">// Use instead of/along with annotations in </span>
|
||||
<span class="comment">// comments. </span>
|
||||
<span class="identifier">BOOST_FALLTHROUGH</span><span class="special">;</span> <span class="comment">// Use instead of/along with annotations in</span>
|
||||
<span class="comment">// comments.</span>
|
||||
<span class="special">}</span> <span class="keyword">else</span> <span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">x</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
@@ -5017,14 +5041,13 @@
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
This macro can be used in place of the compiler specific variant
|
||||
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.
|
||||
pointer variable, only it and its derivative values will be used
|
||||
to access the object it references. This limits the effect of pointer
|
||||
aliasing and helps optimizers in generating better code. However,
|
||||
if this condition is violated, undefined behavior may occur.
|
||||
</p>
|
||||
<p>
|
||||
Usage example:
|
||||
@@ -5235,6 +5258,45 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_DEPRECATED</span><span class="special">(</span><span class="identifier">M</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Expands to an attribute for a symbol that generates warnings when
|
||||
that symbol is used in code. The warnings may contain a message
|
||||
<code class="computeroutput"><span class="identifier">M</span></code>, which must be
|
||||
a string literal. This attribute may be applied to types, functions
|
||||
or objects and is typically used to mark parts of the API as deprecated
|
||||
with a recommendation of replacement.
|
||||
</p>
|
||||
<p>
|
||||
Example:
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">BOOST_DEPRECATED</span><span class="special">(</span><span class="string">"Use bar() instead."</span><span class="special">)</span>
|
||||
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">();</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">BOOST_DEPRECATED</span><span class="special">(</span><span class="string">"Use std::unique_ptr instead."</span><span class="special">)</span> <span class="identifier">auto_ptr</span>
|
||||
<span class="special">{</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="identifier">BOOST_DEPRECATED</span><span class="special">(</span><span class="string">"Use std::numeric_limits<int>::max() instead."</span><span class="special">)</span>
|
||||
<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_int</span> <span class="special">=</span> <span class="number">0x7fffffff</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
The warnings issued by <code class="computeroutput"><span class="identifier">BOOST_DEPRECATED</span></code>
|
||||
can be suppressed by defining <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED_SYMBOLS</span></code>
|
||||
or <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED</span></code>
|
||||
macros.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PRAGMA_MESSAGE</span><span class="special">(</span><span class="identifier">M</span><span class="special">)</span></code>
|
||||
@@ -5278,7 +5340,9 @@
|
||||
</p>
|
||||
<p>
|
||||
The messages issued by <code class="computeroutput"><span class="identifier">BOOST_HEADER_DEPRECATED</span></code>
|
||||
can be suppressed by defining the macro <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED_HEADERS</span></code>.
|
||||
can be suppressed by defining <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED_HEADERS</span></code>
|
||||
or <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED</span></code>
|
||||
macros.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -5476,6 +5540,29 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_CLANG_VERSION</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Defined to the version of the Clang compiler, usually <code class="computeroutput"><span class="identifier">__clang_major__</span> <span class="special">*</span>
|
||||
<span class="number">10000</span> <span class="special">+</span>
|
||||
<span class="identifier">__clang_minor__</span> <span class="special">*</span>
|
||||
<span class="number">100</span> <span class="special">+</span>
|
||||
<span class="identifier">__clang_patchlevel__</span></code>.
|
||||
On Apple Clang, has a best-effort value reflecting the upstream
|
||||
version, rather than the Apple version.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_BORLANDC</span></code>
|
||||
@@ -5568,18 +5655,22 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_WREGEX</span></code>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_MSSTL_VERSION</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Defined if the regex library does not support wide character regular
|
||||
expressions.
|
||||
Defined if the Microsoft Visual C++ standard library is in use.
|
||||
Has the value of <code class="computeroutput"><span class="identifier">_MSVC_STL_VERSION</span></code>
|
||||
when that is defined, and a synthesized value of the same format
|
||||
otherwise. Example values are 143 for VS2022/msvc-14.3, 142 for
|
||||
VS2019/msvc-14.2, 141 for VS2017/msvc-14.1, 140 for VS2015/msvc-14.0,
|
||||
120 for VS2013/msvc-12.0, and so on.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -6859,6 +6950,26 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Disables the effect of the BOOST_SYMBOL_EXPORT, BOOST_SYMBOL_IMPORT
|
||||
and BOOST_SYMBOL_VISIBLE macros, in order to revert to the default
|
||||
compiler behaviour. Note that this option should never be used
|
||||
if Boost libraries are being linking against dynamically, or
|
||||
if you are building a shared library that exposes Boost types
|
||||
in its public API. It is however advisable when statically-linking
|
||||
against Boost to prevent Boost symbols from leaking from the
|
||||
binary: for instance because you are building a plug-in for a
|
||||
software which may itself use Boost which could cause ODR conflicts.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<p>
|
||||
|
||||
@@ -58,12 +58,12 @@
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html">Boost Macro Reference</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.broad_c___standard_level_checks">Broad
|
||||
C++ Standard Level Checks</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__03_defects">Macros
|
||||
that describe C++03 defects</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
|
||||
that describe optional features</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c___future_features">Macros
|
||||
that describe possible C++ future features</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__11_features_not_supported">Macros
|
||||
that describe C++11 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__11_features_with_c__03_compilers">Macros
|
||||
@@ -992,7 +992,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: March 05, 2021 at 17:51:35 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: February 22, 2023 at 19:02:21 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
||||
@@ -630,22 +630,6 @@ standard).
|
||||
|
||||
[endsect]
|
||||
|
||||
[section Macros that describe possible C++ future features]
|
||||
|
||||
The following macros describe features that may be included in some future
|
||||
ISO C++ standard, but have not yet been approved for inclusion in the language.
|
||||
|
||||
|
||||
[table
|
||||
[[Macro ][Description ]]
|
||||
|
||||
[[`BOOST_HAS_CONCEPTS`][
|
||||
The compiler supports concepts.
|
||||
]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
|
||||
[section Macros that describe C++11 features not supported]
|
||||
|
||||
The following macros describe features in the 2011 ISO C++ standard, formerly known as C++0x,
|
||||
@@ -656,6 +640,7 @@ that are not yet supported by a particular compiler or library.
|
||||
|
||||
[[`BOOST_NO_CXX11_ADDRESSOF`][The standard library header <memory> has no working std::addressof.]]
|
||||
[[`BOOST_NO_CXX11_ALIGNAS`][The compiler does not support the `alignas` keyword.]]
|
||||
[[`BOOST_NO_CXX11_ALIGNOF`][The compiler does not support the `alignof` keyword.]]
|
||||
[[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in <memory>.]]
|
||||
[[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library <memory> does not support atomic smart pointer operations.]]
|
||||
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support
|
||||
@@ -1322,11 +1307,11 @@ 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
|
||||
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.
|
||||
derivative values will be used to access the object it references. This limits the effect of
|
||||
pointer aliasing and helps optimizers in generating better code. However, if this condition is
|
||||
violated, undefined behavior may occur.
|
||||
|
||||
Usage example:
|
||||
``
|
||||
@@ -1535,9 +1520,12 @@ Defined if the Windows platform API is available.
|
||||
Defined if the dinkumware standard library is in use, takes the same value
|
||||
as the Dinkumware library version macro `_CPPLIB_VER` if defined, otherwise 1.
|
||||
]]
|
||||
[[`BOOST_NO_WREGEX`][`<boost/regex.hpp>`][
|
||||
Defined if the regex library does not support wide character regular
|
||||
expressions.
|
||||
[[`BOOST_MSSTL_VERSION`][`<boost/config.hpp>`][
|
||||
Defined if the Microsoft Visual C++ standard library is in use.
|
||||
Has the value of `_MSVC_STL_VERSION` when that is defined, and a synthesized
|
||||
value of the same format otherwise. Example values are 143 for
|
||||
VS2022/msvc-14.3, 142 for VS2019/msvc-14.2, 141 for VS2017/msvc-14.1,
|
||||
140 for VS2015/msvc-14.0, 120 for VS2013/msvc-12.0, and so on.
|
||||
]]
|
||||
[[`BOOST_COMPILER`][`<boost/config.hpp>`][
|
||||
Defined as a string describing the name and version number of the compiler
|
||||
|
||||
@@ -194,6 +194,7 @@
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -240,6 +240,10 @@
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alignof)
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_trailing_return)
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
@@ -260,6 +260,7 @@
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -375,6 +375,7 @@
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
#undef BOOST_NO_CXX11_ALIGNAS
|
||||
#undef BOOST_NO_CXX11_ALIGNOF
|
||||
#undef BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#undef BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -219,6 +219,7 @@
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.5.1 and later
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -483,6 +483,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
// BOOST_NO_CXX11_ALIGNAS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_ALIGNAS
|
||||
# undef BOOST_NO_CXX11_ALIGNOF
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
|
||||
@@ -122,6 +122,7 @@
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -84,6 +84,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
@@ -133,6 +133,7 @@
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
|
||||
@@ -183,6 +183,7 @@
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
@@ -270,7 +271,7 @@
|
||||
#ifndef BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
#ifndef BOOST_NO_SFINAE_EXPR
|
||||
#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(_MSVC_LANG)
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
@@ -364,6 +365,8 @@
|
||||
# define BOOST_COMPILER_VERSION 14.1
|
||||
# elif _MSC_VER < 1930
|
||||
# define BOOST_COMPILER_VERSION 14.2
|
||||
# elif _MSC_VER < 1940
|
||||
# define BOOST_COMPILER_VERSION 14.3
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION _MSC_VER
|
||||
# endif
|
||||
@@ -375,8 +378,8 @@
|
||||
#include <boost/config/pragma_message.hpp>
|
||||
|
||||
//
|
||||
// last known and checked version is 19.20.27508 (VC++ 2019 RC3):
|
||||
#if (_MSC_VER > 1920)
|
||||
// last known and checked version is 19.3x (VS2022):
|
||||
#if (_MSC_VER >= 1940)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Boost.Config is older than your current compiler version."
|
||||
# elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)
|
||||
|
||||
@@ -184,6 +184,10 @@
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alignof)
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_trailing_return)
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
@@ -142,6 +142,7 @@
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
|
||||
@@ -1048,6 +1048,9 @@ namespace std{ using ::type_info; }
|
||||
#else
|
||||
#define BOOST_CXX14_CONSTEXPR constexpr
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) && defined(BOOST_NO_CXX11_HDR_TUPLE)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++17 inline variables
|
||||
@@ -1071,9 +1074,22 @@ namespace std{ using ::type_info; }
|
||||
//
|
||||
// Unused variable/typedef workarounds:
|
||||
//
|
||||
#ifndef BOOST_ATTRIBUTE_UNUSED
|
||||
# if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130)
|
||||
# if __has_attribute(maybe_unused)
|
||||
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
|
||||
# endif
|
||||
# elif defined(__has_cpp_attribute)
|
||||
# if __has_cpp_attribute(maybe_unused)
|
||||
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_ATTRIBUTE_UNUSED
|
||||
# define BOOST_ATTRIBUTE_UNUSED
|
||||
#endif
|
||||
|
||||
//
|
||||
// [[nodiscard]]:
|
||||
//
|
||||
|
||||
@@ -240,6 +240,8 @@
|
||||
# define BOOST_NO_CXX98_RANDOM_SHUFFLE
|
||||
# define BOOST_NO_CXX98_FUNCTION_BASE
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
# elif defined(_HAS_DEPRECATED_ADAPTOR_TYPEDEFS) && (_HAS_DEPRECATED_ADAPTOR_TYPEDEFS == 0)
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
# endif
|
||||
#endif
|
||||
//
|
||||
@@ -285,6 +287,36 @@
|
||||
# define BOOST_DINKUMWARE_STDLIB 1
|
||||
#endif
|
||||
|
||||
// BOOST_MSSTL_VERSION: as _MSVC_STL_VERSION, but for earlier releases as well
|
||||
|
||||
#if defined(_MSVC_STL_VERSION) // VS2017 (14.1) and above
|
||||
# define BOOST_MSSTL_VERSION _MSVC_STL_VERSION
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 650 // VS2015 (14.0)
|
||||
# define BOOST_MSSTL_VERSION 140
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 610 // VS2013 (12.0)
|
||||
# define BOOST_MSSTL_VERSION 120
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 540 // VS2012 (11.0)
|
||||
# define BOOST_MSSTL_VERSION 110
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 520 // VS2010 (10.0)
|
||||
# define BOOST_MSSTL_VERSION 100
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 505 // VS2008SP1 (9.0)
|
||||
# define BOOST_MSSTL_VERSION 91
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 503 // VS2008 (also 9.0)
|
||||
# define BOOST_MSSTL_VERSION 90
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 405 // VS2005 (8.0)
|
||||
# define BOOST_MSSTL_VERSION 80
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
|
||||
#ifdef _CPPLIB_VER
|
||||
# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
|
||||
#else
|
||||
|
||||
@@ -139,6 +139,13 @@
|
||||
//
|
||||
#ifdef __clang__
|
||||
|
||||
#ifdef _GLIBCXX_RELEASE
|
||||
# define BOOST_LIBSTDCXX_VERSION (_GLIBCXX_RELEASE * 10000 + 100)
|
||||
#else
|
||||
//
|
||||
// We figure out which gcc version issued this std lib
|
||||
// by checking which headers are available:
|
||||
//
|
||||
#if __has_include(<expected>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 120100
|
||||
#elif __has_include(<source_location>)
|
||||
@@ -170,6 +177,7 @@
|
||||
#elif __has_include(<array>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40300
|
||||
#endif
|
||||
#endif
|
||||
//
|
||||
// If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is
|
||||
// configured to support this type. If not disable it:
|
||||
@@ -259,7 +267,7 @@ extern "C" char *gets (char *__s);
|
||||
# if !_GLIBCXX_DEPRECATED
|
||||
# define BOOST_NO_AUTO_PTR
|
||||
# endif
|
||||
# elif !_GLIBCXX_USE_DEPRECATED
|
||||
# elif !defined(_GLIBCXX_USE_DEPRECATED) || !_GLIBCXX_USE_DEPRECATED
|
||||
# define BOOST_NO_AUTO_PTR
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
# endif
|
||||
@@ -431,6 +439,13 @@ extern "C" char *gets (char *__s);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && !defined(BOOST_NO_CXX11_NULLPTR)
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
#endif
|
||||
#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && defined(BOOST_HAS_INT128) && defined(__APPLE_CC__)
|
||||
#undef BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
//
|
||||
// Headers not present on Solaris with the Oracle compiler:
|
||||
#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)
|
||||
|
||||
@@ -59,8 +59,8 @@ namespace std
|
||||
BOOST_STATIC_CONSTANT(bool, is_integer = true);
|
||||
BOOST_STATIC_CONSTANT(bool, is_exact = true);
|
||||
BOOST_STATIC_CONSTANT(int, radix = 2);
|
||||
static BOOST_LLT epsilon() throw() { return 0; };
|
||||
static BOOST_LLT round_error() throw() { return 0; };
|
||||
static BOOST_LLT epsilon() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
static BOOST_LLT round_error() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
|
||||
BOOST_STATIC_CONSTANT(int, min_exponent = 0);
|
||||
BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
|
||||
@@ -72,10 +72,10 @@ namespace std
|
||||
BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
|
||||
BOOST_STATIC_CONSTANT(bool, has_denorm = false);
|
||||
BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
|
||||
static BOOST_LLT infinity() throw() { return 0; };
|
||||
static BOOST_LLT quiet_NaN() throw() { return 0; };
|
||||
static BOOST_LLT signaling_NaN() throw() { return 0; };
|
||||
static BOOST_LLT denorm_min() throw() { return 0; };
|
||||
static BOOST_LLT infinity() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
static BOOST_LLT quiet_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
static BOOST_LLT signaling_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
static BOOST_LLT denorm_min() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
|
||||
BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
|
||||
BOOST_STATIC_CONSTANT(bool, is_bounded = true);
|
||||
@@ -112,8 +112,8 @@ namespace std
|
||||
BOOST_STATIC_CONSTANT(bool, is_integer = true);
|
||||
BOOST_STATIC_CONSTANT(bool, is_exact = true);
|
||||
BOOST_STATIC_CONSTANT(int, radix = 2);
|
||||
static BOOST_ULLT epsilon() throw() { return 0; };
|
||||
static BOOST_ULLT round_error() throw() { return 0; };
|
||||
static BOOST_ULLT epsilon() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
static BOOST_ULLT round_error() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
|
||||
BOOST_STATIC_CONSTANT(int, min_exponent = 0);
|
||||
BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
|
||||
@@ -125,10 +125,10 @@ namespace std
|
||||
BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
|
||||
BOOST_STATIC_CONSTANT(bool, has_denorm = false);
|
||||
BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
|
||||
static BOOST_ULLT infinity() throw() { return 0; };
|
||||
static BOOST_ULLT quiet_NaN() throw() { return 0; };
|
||||
static BOOST_ULLT signaling_NaN() throw() { return 0; };
|
||||
static BOOST_ULLT denorm_min() throw() { return 0; };
|
||||
static BOOST_ULLT infinity() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
static BOOST_ULLT quiet_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
static BOOST_ULLT signaling_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
static BOOST_ULLT denorm_min() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
|
||||
|
||||
BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
|
||||
BOOST_STATIC_CONSTANT(bool, is_bounded = true);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
// BOOST_VERSION / 100 % 1000 is the minor version
|
||||
// BOOST_VERSION / 100000 is the major version
|
||||
|
||||
#define BOOST_VERSION 108100
|
||||
#define BOOST_VERSION 108200
|
||||
|
||||
//
|
||||
// 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_81"
|
||||
#define BOOST_LIB_VERSION "1_82"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -193,6 +193,9 @@ test-suite "BOOST_NO_CXX11_ADDRESSOF" :
|
||||
test-suite "BOOST_NO_CXX11_ALIGNAS" :
|
||||
[ run ../no_cxx11_alignas_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_alignas_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_ALIGNOF" :
|
||||
[ run ../no_cxx11_alignof_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_alignof_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_ALLOCATOR" :
|
||||
[ run ../no_cxx11_allocator_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_allocator_fail.cpp ] ;
|
||||
|
||||
20
test/boost_no_cxx11_alignof.ipp
Normal file
20
test/boost_no_cxx11_alignof.ipp
Normal file
@@ -0,0 +1,20 @@
|
||||
// Copyright Peter Dimov 2022
|
||||
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX11_ALIGNOF
|
||||
// TITLE: C++11 alignof keyword.
|
||||
// DESCRIPTION: The compiler does not support the C++11 alignof keyword.
|
||||
|
||||
namespace boost_no_cxx11_alignof {
|
||||
|
||||
int test()
|
||||
{
|
||||
return alignof(int) == alignof(int(&)[2])? 0: 1;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -99,8 +99,11 @@ int test()
|
||||
using std::remove_all_extents;
|
||||
using std::remove_pointer;
|
||||
using std::add_pointer;
|
||||
#if !((__cplusplus > 202002L) || (defined(_MSVC_LANG) && (_MSVC_LANG > 202002L)))
|
||||
// deprecated in C++23:
|
||||
using std::aligned_storage;
|
||||
using std::aligned_union;
|
||||
#endif
|
||||
using std::decay;
|
||||
using std::enable_if;
|
||||
using std::conditional;
|
||||
|
||||
@@ -34,7 +34,7 @@ struct IdString
|
||||
{
|
||||
std::string name;
|
||||
int identifier;
|
||||
bool operator == (const IdString& other)
|
||||
bool operator == (const IdString& other)const
|
||||
{
|
||||
return identifier == other.identifier && name == other.name;
|
||||
}
|
||||
|
||||
@@ -1089,6 +1089,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_CXX11);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_ALIGNOF);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_AUTO_DECLARATIONS);
|
||||
@@ -1277,6 +1278,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_CLANG);
|
||||
PRINT_MACRO(BOOST_CLANG_VERSION);
|
||||
PRINT_MACRO(BOOST_LIBSTDCXX_VERSION);
|
||||
PRINT_MACRO(BOOST_MSSTL_VERSION);
|
||||
PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
|
||||
PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
|
||||
PRINT_MACRO(BOOST_CONSTEXPR);
|
||||
|
||||
@@ -122,6 +122,11 @@ namespace boost_no_cxx11_addressof = empty_boost;
|
||||
#else
|
||||
namespace boost_no_cxx11_alignas = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_ALIGNOF
|
||||
#include "boost_no_cxx11_alignof.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx11_alignof = empty_boost;
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_ALLOCATOR
|
||||
#include "boost_no_cxx11_allocator.ipp"
|
||||
#else
|
||||
@@ -1436,6 +1441,11 @@ int main( int, char *[] )
|
||||
std::cerr << "Failed test for BOOST_NO_CXX11_ALIGNAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx11_alignof::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX11_ALIGNOF at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
++error_count;
|
||||
}
|
||||
if(0 != boost_no_cxx11_allocator::test())
|
||||
{
|
||||
std::cerr << "Failed test for BOOST_NO_CXX11_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||
|
||||
37
test/no_cxx11_alignof_fail.cpp
Normal file
37
test/no_cxx11_alignof_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Sun Apr 28 18:36:48 2013
|
||||
// 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_ALIGNOF
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX11_ALIGNOF should not be defined.
|
||||
// See file boost_no_cxx11_alignof.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_ALIGNOF
|
||||
#include "boost_no_cxx11_alignof.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_alignof::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx11_alignof_pass.cpp
Normal file
37
test/no_cxx11_alignof_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Sun Apr 28 18:36:48 2013
|
||||
// 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_ALIGNOF
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX11_ALIGNOF should be defined.
|
||||
// See file boost_no_cxx11_alignof.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_ALIGNOF
|
||||
#include "boost_no_cxx11_alignof.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx11_alignof = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_alignof::test();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user