Compare commits

...

31 Commits

Author SHA1 Message Date
jzmaddock
429c1982d4 Documentation update.
[CI SKIP]
2023-02-22 19:08:52 +00:00
jzmaddock
ab271393a7 Merge pull request #469 from MarcelRaad/msvc_cpp20_with_auto_ptr_etc
Dinkumware: disable C++ 98 binders without adaptor typedefs
2023-01-21 20:08:08 +00:00
Marcel Raad
1f4e789023 Dinkumware: disable C++ 98 binders without adaptor typedefs
When building with MSVC in C++ 20 mode with `_HAS_AUTO_PTR_ETC`
explicitly enabled, `std:bind1st` and `std::bind2nd` are unavailable
unless `_HAS_DEPRECATED_ADAPTOR_TYPEDEFS` is also explicitly enabled.
2023-01-21 14:04:19 +01:00
jzmaddock
42e1b11952 Merge pull request #468 from boostorg/issue467
Update VS/CLR support.
2023-01-14 09:09:34 +00:00
jzmaddock
ceae87e4c0 Update VS/CLR support.
Fixes: https://github.com/boostorg/config/issues/467
2023-01-13 19:23:21 +00:00
jzmaddock
e215d5ba55 Merge pull request #466 from georgthegreat/noexcept
Modernize throw() specifiers
2022-12-30 19:17:40 +00:00
Yuriy Chernyshov
6614ccbef3 Modernize throw() specifiers 2022-12-30 20:35:22 +03:00
jzmaddock
ed87737c13 Merge pull request #465 from boostorg/issue462_cxx17
Try Xcode-9.4.1 C++17 support.
2022-12-30 13:22:53 +00:00
jzmaddock
e6cf358f57 Try Xcode-9.4.1 C++17 support. 2022-12-30 12:30:25 +00:00
jzmaddock
c3efdb4bb8 Add XCode 9.4.1 testing. (#463)
* Add XCode 9.4.1 testing.
Refs https://github.com/boostorg/config/issues/462.

* Disable nullptr and __int128 support on clang/XCode-9.1.

* Correct BOOST_HAS_INT128 undef option.

* Stop testing C++17 mode - it's not supported by the std lib.
2022-12-30 09:15:11 +00:00
Glen Fernandes
dbd0a4776d Bump versions to 1.82 2022-12-14 19:55:52 -05:00
jzmaddock
9915163609 Merge pull request #459 from boostorg/feature/boost-no-cxx11-alignof
Add BOOST_NO_CXX11_ALIGNOF. Closes #427.
2022-12-14 18:42:31 +00:00
jzmaddock
3a0f869732 Merge pull request #461 from boostorg/issue460
Fix some C++23 testing issues:
2022-12-08 11:31:52 +00:00
jzmaddock
b9a3ecaa14 Fix some C++23 testing issues:
Deprecated type_traits and non-const operator==.
Fixes https://github.com/boostorg/config/issues/460
2022-12-07 19:05:45 +00:00
Peter Dimov
a63de62c1f Document BOOST_NO_CXX11_ALIGNOF 2022-11-21 19:54:45 +02:00
Peter Dimov
ebaf02e31b Define BOOST_NO_CXX11_ALIGNOF in boost/config/compiler/*.hpp 2022-11-21 19:50:11 +02:00
Peter Dimov
3ecedc9602 Add tests for BOOST_NO_CXX11_ALIGNOF 2022-11-21 19:32:43 +02:00
jzmaddock
8c6226cafd Merge pull request #458 from boostorg/issue455
Clang should use _GLIBCXX_RELEASE
2022-11-20 19:45:51 +00:00
jzmaddock
1a531cec40 Remove outdated option from docs.
[CI SKIP]
2022-11-20 18:37:52 +00:00
jzmaddock
25932592fe Merge pull request #452 from boostorg/pr/boost-msstl-version
Add macro BOOST_MSSTL_VERSION
2022-11-20 18:36:36 +00:00
jzmaddock
2703431699 Clang should use _GLIBCXX_RELEASE
To determine libstdc++ version.
Fixes https://github.com/boostorg/config/issues/455
2022-11-20 18:33:13 +00:00
Peter Dimov
7cd570492f Document BOOST_MSSTL_VERSION 2022-11-16 22:25:12 +02:00
Peter Dimov
56e7a0e49d Add macro BOOST_MSSTL_VERSION 2022-11-16 22:12:57 +02:00
jzmaddock
7b1f52c85e Merge pull request #457 from boostorg/unused
Expand BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
2022-11-16 19:29:08 +00:00
jzmaddock
5566315316 Expand BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
When available, supersedes: https://github.com/boostorg/config/pull/456
2022-11-16 18:57:05 +00:00
jzmaddock
72a2549a89 Merge pull request #454 from Flamefire/patch-1
Fix -Wundef for `_GLIBCXX_USE_DEPRECATED` on libstdc++ >= 4.6
2022-11-16 18:35:16 +00:00
jzmaddock
a16675b5a4 Merge pull request #453 from boostorg/feature/update-msvc-version
Update BOOST_COMPILER_VERSION for msvc-14.3
2022-11-16 18:34:45 +00:00
jzmaddock
ac95706e51 Merge pull request #447 from Lastique/patch-5
Fix typos in BOOST_RESTRICT description
2022-11-16 18:31:39 +00:00
Alexander Grund
3a8ecbb390 Fix -Wundef for _GLIBCXX_USE_DEPRECATED on libstdc++ >= 4.6 2022-11-12 13:32:07 +01:00
Peter Dimov
73cc60c503 Update BOOST_COMPILER_VERSION for msvc-14.3 2022-11-09 14:49:18 +02:00
Andrey Semashev
5ee97d22d9 Fix typos in BOOST_RESTRICT description. 2022-09-23 15:02:58 +03:00
35 changed files with 404 additions and 103 deletions

View File

@@ -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

View File

@@ -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 &lt;codecvt&gt;.
The standard library does not provide header &lt;codecvt&gt;. 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">&lt;</span><span class="identifier">format</span><span class="special">&gt;</span></code>.
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">source_location</span><span class="special">&gt;</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">&lt;</span><span class="identifier">range</span><span class="special">&gt;</span></code>.
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">ranges</span><span class="special">&gt;</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">&lt;</span><span class="identifier">version</span><span class="special">&gt;</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">&lt;</span><span class="identifier">codecvt</span><span class="special">&gt;</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">&lt;</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">&gt;</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&lt;int&gt;::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">&lt;</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">&gt;</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">&lt;</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">&gt;</span></code>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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]]:
//

View File

@@ -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

View File

@@ -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)

View File

@@ -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);

View File

@@ -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

View File

@@ -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 ] ;

View 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;
}
}

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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;

View 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();
}

View 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();
}