diff --git a/include/thread b/include/thread index b6b70003..d81e8537 100644 --- a/include/thread +++ b/include/thread @@ -227,7 +227,7 @@ private: _LIBCPP_INLINE_VISIBILITY __thread_id(pthread_t __id) : __id_(__id) {} - friend __thread_id this_thread::get_id(); + friend __thread_id this_thread::get_id() _NOEXCEPT; friend class _LIBCPP_VISIBLE thread; friend struct _LIBCPP_VISIBLE hash<__thread_id>; }; diff --git a/src/memory.cpp b/src/memory.cpp index 1c108b8c..3884a2b3 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -119,6 +119,8 @@ __shared_weak_count::__get_deleter(const type_info&) const _NOEXCEPT #endif // _LIBCPP_NO_RTTI +#if __has_feature(cxx_atomic) + static const std::size_t __sp_mut_count = 16; static mutex mut_back[__sp_mut_count]; @@ -162,6 +164,7 @@ __get_sp_mut(const void* p) return muts[hash()(p) & (__sp_mut_count-1)]; } +#endif // __has_feature(cxx_atomic) void declare_reachable(void*)