]> git.lyx.org Git - lyx.git/blobdiff - 3rdparty/boost/boost/config/stdlib/libcpp.hpp
Update to boost 1.72
[lyx.git] / 3rdparty / boost / boost / config / stdlib / libcpp.hpp
index a051dbb750249e5e9cdcd0326b2078e7fc325f78..e8eea9117c1062280c21173cda3142958ac55d18 100644 (file)
@@ -41,6 +41,7 @@
 
 #  define BOOST_NO_CXX11_HDR_CODECVT
 #  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define BOOST_NO_CXX11_HDR_EXCEPTION
 #  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
 #  define BOOST_NO_CXX11_HDR_MUTEX
 #  define BOOST_NO_CXX11_HDR_RANDOM
@@ -89,6 +90,9 @@
 // C++17 features
 #if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
 #  define BOOST_NO_CXX17_STD_APPLY
+#  define BOOST_NO_CXX17_HDR_OPTIONAL
+#  define BOOST_NO_CXX17_HDR_STRING_VIEW
+#  define BOOST_NO_CXX17_HDR_VARIANT
 #endif
 #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
 #  define BOOST_NO_AUTO_PTR
 #  define BOOST_NO_CXX11_THREAD_LOCAL
 #endif
 
-#if defined(__linux__) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
+#if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
 // After libc++-dev is installed on Trusty, clang++-libc++ almost works,
 // except uses of `thread_local` fail with undefined reference to
 // `__cxa_thread_atexit`.
+//
+// clang's libc++abi provides an implementation by deferring to the glibc
+// implementation, which may or may not be available (it is not on Trusty).
+// clang 4's libc++abi will provide an implementation if one is not in glibc
+// though, so thread local support should work with clang 4 and above as long
+// as libc++abi is linked in.
 #  define BOOST_NO_CXX11_THREAD_LOCAL
 #endif
 
 #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
 #endif
 
+#if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000)
+#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
+#endif
+
 //  --- end ---