diff options
author | Jonathan Roelofs <jonathan@codesourcery.com> | 2014-09-05 19:45:05 +0000 |
---|---|---|
committer | Jonathan Roelofs <jonathan@codesourcery.com> | 2014-09-05 19:45:05 +0000 |
commit | b3fcc67f8f13cd95d36ed29d0ae1308decb9e099 (patch) | |
tree | 0c01716be284ed8200fde073b145887bea7b4508 /libcxx/src/memory.cpp | |
parent | d3e121331bafa274b654bf2e1691cde628b7ff55 (diff) | |
download | bcm5719-llvm-b3fcc67f8f13cd95d36ed29d0ae1308decb9e099.tar.gz bcm5719-llvm-b3fcc67f8f13cd95d36ed29d0ae1308decb9e099.zip |
Allow libc++ to be built on systems without POSIX threads
If you're crazy enough to want this sort of thing, then add
-D_LIBCPP_HAS_NO_THREADS to your CXXFLAGS and
--param=additiona_features=libcpp-has-no-threads to your lit commnad line.
http://reviews.llvm.org/D3969
llvm-svn: 217271
Diffstat (limited to 'libcxx/src/memory.cpp')
-rw-r--r-- | libcxx/src/memory.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libcxx/src/memory.cpp b/libcxx/src/memory.cpp index 666673fc6b4..31e823cf419 100644 --- a/libcxx/src/memory.cpp +++ b/libcxx/src/memory.cpp @@ -9,8 +9,10 @@ #define _LIBCPP_BUILDING_MEMORY #include "memory" +#ifndef _LIBCPP_HAS_NO_THREADS #include "mutex" #include "thread" +#endif _LIBCPP_BEGIN_NAMESPACE_STD @@ -119,7 +121,7 @@ __shared_weak_count::__get_deleter(const type_info&) const _NOEXCEPT #endif // _LIBCPP_NO_RTTI -#if __has_feature(cxx_atomic) +#if __has_feature(cxx_atomic) && !_LIBCPP_HAS_NO_THREADS static const std::size_t __sp_mut_count = 16; static pthread_mutex_t mut_back_imp[__sp_mut_count] = @@ -172,7 +174,7 @@ __get_sp_mut(const void* p) return muts[hash<const void*>()(p) & (__sp_mut_count-1)]; } -#endif // __has_feature(cxx_atomic) +#endif // __has_feature(cxx_atomic) && !_LIBCPP_HAS_NO_THREADS void declare_reachable(void*) |