diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index 75c1dc9f..e37efac1 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -979,6 +979,7 @@ provide compliant C++17 support. [[Macro ][ Description ]] [[`BOOST_INLINE_VARIABLE`][This macro expands to `inline` on compilers that support C++17 inline variables and to nothing otherwise. Users may need to check for `BOOST_NO_CXX17_INLINE_VARIABLES` for further adjustments to the code.]] [[`BOOST_IF_CONSTEXPR`][Expands to `if constexpr` when supported, or `if` otherwise.]] +[[`BOOST_INLINE_CONSTEXPR`][This is a shortcut for `BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST`.]] ] [endsect] diff --git a/include/boost/config/detail/suffix.hpp b/include/boost/config/detail/suffix.hpp index 4dfb0422..d3c4e083 100644 --- a/include/boost/config/detail/suffix.hpp +++ b/include/boost/config/detail/suffix.hpp @@ -1011,6 +1011,8 @@ namespace std{ using ::type_info; } # define BOOST_IF_CONSTEXPR if #endif +#define BOOST_INLINE_CONSTEXPR BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST + // // Unused variable/typedef workarounds: // diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp index 7d565653..10980420 100644 --- a/include/boost/config/stdlib/dinkumware.hpp +++ b/include/boost/config/stdlib/dinkumware.hpp @@ -86,6 +86,7 @@ # define BOOST_NO_STD_LOCALE #endif +#if BOOST_MSVC < 1800 // Fix for VC++ 8.0 on up ( I do not have a previous version to test ) // or clang-cl. If exceptions are off you must manually include the // header before including the header. Admittedly @@ -100,6 +101,7 @@ && !defined(__VXWORKS__) # define BOOST_NO_STD_TYPEINFO #endif +#endif // C++0x headers implemented in 520 (as shipped by Microsoft) //