From 61494b519c2b31d52a2142f89de26579cacbb643 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Wed, 21 Feb 2018 21:36:18 +0000 Subject: [PATCH] libcxx: Unbreak external thread library configuration. Differential Revision: https://reviews.llvm.org/D42503 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@325723 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/__threading_support | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/include/__threading_support b/include/__threading_support index c20123d56..3c1eff22f 100644 --- a/include/__threading_support +++ b/include/__threading_support @@ -31,6 +31,14 @@ _LIBCPP_PUSH_MACROS #include <__undef_macros> +#if defined(_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL) || \ + defined(_LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL) || \ + defined(_LIBCPP_HAS_THREAD_API_WIN32) +#define _LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_FUNC_VIS +#else +#define _LIBCPP_THREAD_ABI_VISIBILITY inline _LIBCPP_INLINE_VISIBILITY +#endif + #if defined(__FreeBSD__) && defined(__clang__) && __has_attribute(no_thread_safety_analysis) #define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS __attribute__((no_thread_safety_analysis)) #else @@ -39,15 +47,7 @@ _LIBCPP_PUSH_MACROS _LIBCPP_BEGIN_NAMESPACE_STD -#if defined(_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL) || \ - defined(_LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL) - -#define _LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_FUNC_VIS - -#elif defined(_LIBCPP_HAS_THREAD_API_PTHREAD) - -#define _LIBCPP_THREAD_ABI_VISIBILITY inline _LIBCPP_INLINE_VISIBILITY - +#if defined(_LIBCPP_HAS_THREAD_API_PTHREAD) // Mutex typedef pthread_mutex_t __libcpp_mutex_t; #define _LIBCPP_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER @@ -75,9 +75,6 @@ typedef pthread_key_t __libcpp_tls_key; #define _LIBCPP_TLS_DESTRUCTOR_CC #else - -#define _LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_FUNC_VIS - // Mutex typedef void* __libcpp_mutex_t; #define _LIBCPP_MUTEX_INITIALIZER 0