defect macro for C++17 feature std::invoke()

This commit is contained in:
Oliver Kowalke
2016-10-14 20:49:48 +02:00
parent 10b814f19b
commit b0b52d6c75
19 changed files with 182 additions and 6 deletions
@@ -157,6 +157,11 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++17 features
#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
# define BOOST_NO_CXX17_STD_INVOKE
#endif
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
// Intel's compiler can't handle this header yet:
# define BOOST_NO_CXX11_HDR_ATOMIC
+3
View File
@@ -72,6 +72,9 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++17 features
# define BOOST_NO_CXX17_STD_INVOKE
//
// Intrinsic type_traits support.
// The SGI STL has it's own __type_traits class, which
+2
View File
@@ -73,6 +73,8 @@
#if _LIBCPP_VERSION < 3700
// libc++ uses a non-standard messages_base
#define BOOST_NO_STD_MESSAGES
// C++17 features
#define BOOST_NO_CXX17_STD_INVOKE
#endif
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
+14 -1
View File
@@ -98,6 +98,7 @@
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103)
# define BOOST_LIBSTDCXX11
#endif
//
// Decide which version of libstdc++ we have, normally
// stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
@@ -122,7 +123,11 @@
//
#ifdef __clang__
#if __has_include(<experimental/any>)
#include <functional>
#if defined(__cpp_lib_invoke) && (__cpp_lib_invoke >= 201411)
# define BOOST_LIBSTDCXX_VERSION 60100
#elif __has_include(<experimental/any>)
# define BOOST_LIBSTDCXX_VERSION 50100
#elif __has_include(<shared_mutex>)
# define BOOST_LIBSTDCXX_VERSION 40900
@@ -139,6 +144,7 @@
#elif __has_include(<array>)
# define BOOST_LIBSTDCXX_VERSION 40300
#endif
//
// GCC 4.8 and 9 add working versions of <atomic> and <regex> respectively.
// However, we have no test for these as the headers were present but broken
@@ -251,6 +257,13 @@
# define BOOST_NO_CXX11_STD_ALIGN
#endif
//
// C++17 features in GCC 6.1 and later
//
#if (BOOST_LIBSTDCXX_VERSION < 60100) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_INVOKE
#endif
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
+3
View File
@@ -61,6 +61,9 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++17 features
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "Modena C++ standard library"
+3
View File
@@ -85,4 +85,7 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++17 features
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
@@ -196,3 +196,6 @@
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++17 features
# define BOOST_NO_CXX17_STD_INVOKE
+4 -1
View File
@@ -155,4 +155,7 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#define BOOST_STDLIB "SGI standard library"
// C++17 features
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "SGI standard library"
+3
View File
@@ -245,4 +245,7 @@ namespace boost { using std::min; using std::max; }
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++17 features
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
+3
View File
@@ -61,4 +61,7 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++17 features
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "Visual Age default standard library"