mirror of
https://github.com/boostorg/config.git
synced 2025-07-30 04:17:16 +02:00
Update suffix.hpp for older msvc versions.
See 8dcea4d78c (commitcomment-35718928)
.
This commit is contained in:
@ -43,6 +43,8 @@
|
||||
that allow use of C++14 features with C++11 or earlier compilers</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported">Macros
|
||||
that describe C++17 features not supported</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__17_features_with_c__14_or_earlier_compilers">Macros
|
||||
that allow use of C++17 features with C++14 or earlier compilers</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_features_that_have_been_removed_from_the_standard_">Macros
|
||||
that describe features that have been removed from the standard.</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
|
||||
@ -3557,6 +3559,20 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_FINAL</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
If <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FINAL</span></code>
|
||||
is not defined (i.e. C++11 compliant compilers), expands to <code class="computeroutput"><span class="identifier">final</span></code> keyword, otherwise expands
|
||||
to nothing.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_MSVC_ENABLE_2012_NOV_CTP</span></code>
|
||||
@ -3798,8 +3814,10 @@
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
This macro works similar to BOOST_CONSTEXPR, but expands to <code class="computeroutput"><span class="keyword">constexpr</span></code> only if the C++14 "relaxed"
|
||||
<code class="computeroutput"><span class="keyword">constexpr</span></code> is available.
|
||||
This macro works similar to <code class="computeroutput"><span class="identifier">BOOST_CONSTEXPR</span></code>,
|
||||
but expands to <code class="computeroutput"><span class="keyword">constexpr</span></code>
|
||||
only if the C++14 "relaxed" <code class="computeroutput"><span class="keyword">constexpr</span></code>
|
||||
is available.
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
@ -3925,7 +3943,8 @@
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support C++17 inline variables.
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">inline</span></code>
|
||||
variables.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -3934,6 +3953,49 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_config.boost_macro_reference.macros_that_allow_use_of_c__17_features_with_c__14_or_earlier_compilers"></a><a name="config_17_for_14"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__17_features_with_c__14_or_earlier_compilers" title="Macros that allow use of C++17 features with C++14 or earlier compilers">Macros
|
||||
that allow use of C++17 features with C++14 or earlier compilers</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following macros allow use of C++17 features even with compilers that
|
||||
do not yet provide compliant C++17 support.
|
||||
</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_INLINE_VARIABLE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
This macro expands to <code class="computeroutput"><span class="keyword">inline</span></code>
|
||||
on compilers that support C++17 inline variables and to nothing
|
||||
otherwise. Users may need to check for <code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_INLINE_VARIABLES</span></code>
|
||||
for further adjustments to the code.
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_config.boost_macro_reference.macros_that_describe_features_that_have_been_removed_from_the_standard_"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_features_that_have_been_removed_from_the_standard_" title="Macros that describe features that have been removed from the standard.">Macros
|
||||
that describe features that have been removed from the standard.</a>
|
||||
</h3></div></div></div>
|
||||
|
@ -1059,7 +1059,8 @@ namespace std{ using ::type_info; }
|
||||
#endif
|
||||
|
||||
// This is a catch all case for obsolete compilers / std libs:
|
||||
#if (!defined(__has_include) || (__cplusplus < 201700)) && !defined(_MSC_VER)
|
||||
#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured
|
||||
#if (!defined(__has_include) || (__cplusplus < 201700))
|
||||
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
||||
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
||||
# define BOOST_NO_CXX17_HDR_VARIANT
|
||||
@ -1074,6 +1075,7 @@ namespace std{ using ::type_info; }
|
||||
# define BOOST_NO_CXX17_HDR_VARIANT
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Finish off with checks for macros that are depricated / no longer supported,
|
||||
|
@ -77,9 +77,9 @@ test-suite config
|
||||
[ check-target-builds has_rt_lib : <source>rt ]
|
||||
: config_test_no_except
|
||||
]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi : config_info_threaded ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off : config_info_no_rtti ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_threaded ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_no_rtti ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off
|
||||
<target-os>vxworks:<build>no
|
||||
: config_info_no_except ]
|
||||
|
Reference in New Issue
Block a user