summaryrefslogtreecommitdiffstats
path: root/contrib/src/boost/config/stdlib
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2017-01-13 11:58:41 (GMT)
committerStefan Radomski <github@mintwerk.de>2017-01-13 11:58:41 (GMT)
commit0aa0fe08dc308c94379c47d0bf9745e341cb4c81 (patch)
tree514b009d3d1658af6988e059874014fc26fc0395 /contrib/src/boost/config/stdlib
parent6952ce94491e4b7bc2acded0788e4609ca2c76e8 (diff)
downloaduscxml-0aa0fe08dc308c94379c47d0bf9745e341cb4c81.zip
uscxml-0aa0fe08dc308c94379c47d0bf9745e341cb4c81.tar.gz
uscxml-0aa0fe08dc308c94379c47d0bf9745e341cb4c81.tar.bz2
Updated boost headers
Diffstat (limited to 'contrib/src/boost/config/stdlib')
-rw-r--r--contrib/src/boost/config/stdlib/dinkumware.hpp13
-rw-r--r--contrib/src/boost/config/stdlib/libcomo.hpp7
-rw-r--r--contrib/src/boost/config/stdlib/libcpp.hpp47
-rw-r--r--contrib/src/boost/config/stdlib/libstdcpp3.hpp37
-rw-r--r--contrib/src/boost/config/stdlib/modena.hpp7
-rw-r--r--contrib/src/boost/config/stdlib/msl.hpp7
-rw-r--r--contrib/src/boost/config/stdlib/roguewave.hpp7
-rw-r--r--contrib/src/boost/config/stdlib/sgi.hpp9
-rw-r--r--contrib/src/boost/config/stdlib/stlport.hpp7
-rw-r--r--contrib/src/boost/config/stdlib/vacpp.hpp7
10 files changed, 137 insertions, 11 deletions
diff --git a/contrib/src/boost/config/stdlib/dinkumware.hpp b/contrib/src/boost/config/stdlib/dinkumware.hpp
index af8ddda..8cf5d4d 100644
--- a/contrib/src/boost/config/stdlib/dinkumware.hpp
+++ b/contrib/src/boost/config/stdlib/dinkumware.hpp
@@ -150,13 +150,24 @@
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
+#elif (__cplusplus < 201402) && !defined(_MSC_VER)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
+// C++14 features
+#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
+# define BOOST_NO_CXX14_STD_EXCHANGE
+#endif
+
+// C++17 features
+# define BOOST_NO_CXX17_STD_APPLY
+#if !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
diff --git a/contrib/src/boost/config/stdlib/libcomo.hpp b/contrib/src/boost/config/stdlib/libcomo.hpp
index 941498d..e3fc627 100644
--- a/contrib/src/boost/config/stdlib/libcomo.hpp
+++ b/contrib/src/boost/config/stdlib/libcomo.hpp
@@ -72,6 +72,13 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
+// C++14 features
+# define BOOST_NO_CXX14_STD_EXCHANGE
+
+// C++17 features
+# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_STD_INVOKE
+
//
// Intrinsic type_traits support.
// The SGI STL has it's own __type_traits class, which
diff --git a/contrib/src/boost/config/stdlib/libcpp.hpp b/contrib/src/boost/config/stdlib/libcpp.hpp
index ab5d123..2eea999 100644
--- a/contrib/src/boost/config/stdlib/libcpp.hpp
+++ b/contrib/src/boost/config/stdlib/libcpp.hpp
@@ -32,10 +32,14 @@
#endif
#if __cplusplus < 201103
-# define BOOST_NO_CXX11_HDR_ARRAY
+//
+// These two appear to be somewhat useable in C++03 mode, there may be others...
+//
+//# define BOOST_NO_CXX11_HDR_ARRAY
+//# define BOOST_NO_CXX11_HDR_FORWARD_LIST
+
# define BOOST_NO_CXX11_HDR_CODECVT
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
# define BOOST_NO_CXX11_HDR_MUTEX
# define BOOST_NO_CXX11_HDR_RANDOM
@@ -53,19 +57,48 @@
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
-#endif
-
+# define BOOST_NO_CXX11_HDR_ATOMIC
+# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
+# define BOOST_NO_CXX11_HDR_CHRONO
+# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
+# define BOOST_NO_CXX11_HDR_FUTURE
+#elif _LIBCPP_VERSION < 3700
//
// These appear to be unusable/incomplete so far:
//
+# define BOOST_NO_CXX11_HDR_ATOMIC
+# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_FUTURE
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-# define BOOST_NO_CXX11_HDR_ATOMIC
+# define BOOST_NO_CXX11_HDR_FUTURE
+#endif
+
+#if _LIBCPP_VERSION < 3700
// libc++ uses a non-standard messages_base
#define BOOST_NO_STD_MESSAGES
+#endif
+
+// C++14 features
+#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
+# define BOOST_NO_CXX14_STD_EXCHANGE
+#endif
+
+// C++17 features
+#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
+# define BOOST_NO_CXX17_STD_INVOKE
+#endif
+#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
+# define BOOST_NO_CXX17_STD_APPLY
+#endif
+
+#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
+// This is a bit of a sledgehammer, because really it's just libc++abi that has no
+// support for thread_local, leading to linker errors such as
+// "undefined reference to `__cxa_thread_atexit'". It is fixed in the
+// most recent releases of libc++abi though...
+# define BOOST_NO_CXX11_THREAD_LOCAL
+#endif
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
diff --git a/contrib/src/boost/config/stdlib/libstdcpp3.hpp b/contrib/src/boost/config/stdlib/libstdcpp3.hpp
index 9718bed..557767b 100644
--- a/contrib/src/boost/config/stdlib/libstdcpp3.hpp
+++ b/contrib/src/boost/config/stdlib/libstdcpp3.hpp
@@ -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,9 @@
//
#ifdef __clang__
-#if __has_include(<experimental/any>)
+#if __has_include(<experimental/memory_resource>)
+# 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 +142,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
@@ -151,13 +155,29 @@
// Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't
// set __GNUC__
//
+#if __SUNPRO_CC >= 0x5140
+#define BOOST_LIBSTDCXX_VERSION 50100
+#else
#define BOOST_LIBSTDCXX_VERSION 40800
#endif
+#endif
#if !defined(BOOST_LIBSTDCXX_VERSION)
# define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
+// std::auto_ptr isn't provided with _GLIBCXX_DEPRECATED=0 (GCC 4.5 and earlier)
+// or _GLIBCXX_USE_DEPRECATED=0 (GCC 4.6 and later).
+#if defined(BOOST_LIBSTDCXX11)
+# if BOOST_LIBSTDCXX_VERSION < 40600
+# if !_GLIBCXX_DEPRECATED
+# define BOOST_NO_AUTO_PTR
+# endif
+# elif !_GLIBCXX_USE_DEPRECATED
+# define BOOST_NO_AUTO_PTR
+# endif
+#endif
+
// C++0x headers in GCC 4.3.0 and later
//
#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11)
@@ -220,6 +240,9 @@
// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively.
# define BOOST_NO_CXX11_HDR_REGEX
#endif
+#if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103)
+# define BOOST_NO_CXX14_STD_EXCHANGE
+#endif
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
@@ -235,6 +258,16 @@
# 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 (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L)
+# define BOOST_NO_CXX17_STD_APPLY
+#endif
+
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
@@ -247,7 +280,7 @@
//
// Headers not present on Solaris with the Oracle compiler:
-#if defined(__SUNPRO_CC)
+#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)
#define BOOST_NO_CXX11_HDR_FUTURE
#define BOOST_NO_CXX11_HDR_FORWARD_LIST
#define BOOST_NO_CXX11_HDR_ATOMIC
diff --git a/contrib/src/boost/config/stdlib/modena.hpp b/contrib/src/boost/config/stdlib/modena.hpp
index 7a85e0c..fa4a818 100644
--- a/contrib/src/boost/config/stdlib/modena.hpp
+++ b/contrib/src/boost/config/stdlib/modena.hpp
@@ -61,6 +61,13 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
+// C++14 features
+# define BOOST_NO_CXX14_STD_EXCHANGE
+
+// C++17 features
+# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_STD_INVOKE
+
#define BOOST_STDLIB "Modena C++ standard library"
diff --git a/contrib/src/boost/config/stdlib/msl.hpp b/contrib/src/boost/config/stdlib/msl.hpp
index dd2775e..8f21a13 100644
--- a/contrib/src/boost/config/stdlib/msl.hpp
+++ b/contrib/src/boost/config/stdlib/msl.hpp
@@ -85,4 +85,11 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
+// C++14 features
+# define BOOST_NO_CXX14_STD_EXCHANGE
+
+// C++17 features
+# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_STD_INVOKE
+
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
diff --git a/contrib/src/boost/config/stdlib/roguewave.hpp b/contrib/src/boost/config/stdlib/roguewave.hpp
index 97a2b0b..437d38d 100644
--- a/contrib/src/boost/config/stdlib/roguewave.hpp
+++ b/contrib/src/boost/config/stdlib/roguewave.hpp
@@ -196,3 +196,10 @@
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
+
+// C++14 features
+# define BOOST_NO_CXX14_STD_EXCHANGE
+
+// C++17 features
+# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_STD_INVOKE
diff --git a/contrib/src/boost/config/stdlib/sgi.hpp b/contrib/src/boost/config/stdlib/sgi.hpp
index c805271..8d2f849 100644
--- a/contrib/src/boost/config/stdlib/sgi.hpp
+++ b/contrib/src/boost/config/stdlib/sgi.hpp
@@ -155,4 +155,11 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
-#define BOOST_STDLIB "SGI standard library" \ No newline at end of file
+// C++14 features
+# define BOOST_NO_CXX14_STD_EXCHANGE
+
+// C++17 features
+# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_STD_INVOKE
+
+#define BOOST_STDLIB "SGI standard library"
diff --git a/contrib/src/boost/config/stdlib/stlport.hpp b/contrib/src/boost/config/stdlib/stlport.hpp
index bbc4176..518f9ef 100644
--- a/contrib/src/boost/config/stdlib/stlport.hpp
+++ b/contrib/src/boost/config/stdlib/stlport.hpp
@@ -245,4 +245,11 @@ namespace boost { using std::min; using std::max; }
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
+// C++14 features
+# define BOOST_NO_CXX14_STD_EXCHANGE
+
+// C++17 features
+# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_STD_INVOKE
+
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
diff --git a/contrib/src/boost/config/stdlib/vacpp.hpp b/contrib/src/boost/config/stdlib/vacpp.hpp
index 4ccd0d2..f9afef6 100644
--- a/contrib/src/boost/config/stdlib/vacpp.hpp
+++ b/contrib/src/boost/config/stdlib/vacpp.hpp
@@ -61,4 +61,11 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
+// C++14 features
+# define BOOST_NO_CXX14_STD_EXCHANGE
+
+// C++17 features
+# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_STD_INVOKE
+
#define BOOST_STDLIB "Visual Age default standard library"