forked from boostorg/config
Merge branch 'develop' into develop
This commit is contained in:
@ -3250,6 +3250,20 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_UNRESTRICTED_UNION</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support an unrestricted union. This is a
|
||||
union that may contain static data as well as user-defined member
|
||||
data with non-trivial special member functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_USER_DEFINED_LITERALS</span></code>
|
||||
@ -3977,7 +3991,8 @@
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_INLINE_VARIABLE</span></code>
|
||||
@ -3991,7 +4006,35 @@
|
||||
for further adjustments to the code.
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_IF_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Expands to <code class="computeroutput"><span class="keyword">if</span> <span class="keyword">constexpr</span></code>
|
||||
when supported, or <code class="computeroutput"><span class="keyword">if</span></code>
|
||||
otherwise.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_INLINE_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
This is a shortcut for <code class="computeroutput"><span class="identifier">BOOST_INLINE_VARIABLE</span>
|
||||
<span class="identifier">BOOST_CONSTEXPR_OR_CONST</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section">
|
||||
|
@ -297,9 +297,9 @@
|
||||
and name the test file "<code class="computeroutput"><span class="identifier">boost_has_foo</span><span class="special">.</span><span class="identifier">ipp</span></code>".
|
||||
Try not to add feature test macros unnecessarily, if there is a platform
|
||||
specific macro that can already be used (for example <code class="computeroutput"><span class="identifier">_WIN32</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">__BEOS__</span></code>, or <code class="computeroutput"><span class="identifier">__linux</span></code>) to identify the feature then use
|
||||
that. Try to keep the macro to a feature group, or header name, rather than
|
||||
one specific API (for example <code class="computeroutput"><span class="identifier">BOOST_HAS_NL_TYPES_H</span></code>
|
||||
<code class="computeroutput"><span class="identifier">__BEOS__</span></code>, or <code class="computeroutput"><span class="identifier">__linux__</span></code>) to identify the feature then
|
||||
use that. Try to keep the macro to a feature group, or header name, rather
|
||||
than one specific API (for example <code class="computeroutput"><span class="identifier">BOOST_HAS_NL_TYPES_H</span></code>
|
||||
rather than <code class="computeroutput"><span class="identifier">BOOST_HAS_CATOPEN</span></code>).
|
||||
If the macro describes a POSIX feature group, then add boilerplate code to
|
||||
<a href="../../../../../boost/config/detail/suffix.hpp" target="_top"><boost/config/detail/suffix.hpp></a>
|
||||
|
@ -990,7 +990,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: October 29, 2019 at 16:54:06 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: March 23, 2020 at 21:06:56 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
@ -1406,6 +1406,11 @@ library in use. Mainly for debugging the configuration.
|
||||
Defined as a string describing the name of the platform. Mainly for debugging
|
||||
the configuration.
|
||||
]]
|
||||
[[`BOOST_LIBSTDCXX_VERSION`][`<boost/config.hpp>`][
|
||||
Defined if the libstdc++ standard library is in use.
|
||||
Has the value of normalised 5 digit integer of the form VVMMM where
|
||||
VV is the major version number, MM is the minor version number.
|
||||
]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
|
@ -461,7 +461,7 @@ BOOST_LIB_SUFFIX: Static/import libraries extension (".lib", ".a") for the c
|
||||
#elif defined(BOOST_AUTO_LINK_TAGGED)
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX)
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX)
|
||||
# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
|
||||
# endif
|
||||
#elif defined(BOOST_AUTO_LINK_SYSTEM)
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
|
||||
|
@ -254,7 +254,6 @@
|
||||
// C++0x features in 4.8.n and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
@ -267,6 +266,14 @@
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.9.n and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40900) || !defined(BOOST_GCC_CXX11)
|
||||
// Although alignas support is added in gcc 4.8, it does not accept
|
||||
// constant expressions as an argument until gcc 4.9.
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
// C++0x features in 5.1 and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 50100) || !defined(BOOST_GCC_CXX11)
|
||||
|
@ -1,4 +1,4 @@
|
||||
// (C) Copyright Andrey Semashev 2013
|
||||
// (C) Copyright Andrey Semashev 2013, 2020
|
||||
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
@ -12,6 +12,12 @@
|
||||
|
||||
namespace boost_no_cxx11_alignas {
|
||||
|
||||
template< unsigned int Alignment >
|
||||
struct alignment
|
||||
{
|
||||
static const unsigned int value = Alignment;
|
||||
};
|
||||
|
||||
struct alignas(16) my_data1
|
||||
{
|
||||
char data[10];
|
||||
@ -22,10 +28,17 @@ struct alignas(double) my_data2
|
||||
char data[16];
|
||||
};
|
||||
|
||||
struct alignas(alignment< 16u >::value) my_data3
|
||||
{
|
||||
char data[16];
|
||||
};
|
||||
|
||||
my_data1 dummy1[2];
|
||||
my_data2 dummy2;
|
||||
alignas(16) char dummy3[10];
|
||||
alignas(double) char dummy4[32];
|
||||
my_data3 dummy3;
|
||||
alignas(16) char dummy4[10];
|
||||
alignas(double) char dummy5[32];
|
||||
alignas(alignment< 16u >::value) char dummy6[32];
|
||||
|
||||
int test()
|
||||
{
|
||||
|
Reference in New Issue
Block a user