Index: include/__config =================================================================== --- include/__config +++ include/__config @@ -297,7 +297,7 @@ typedef __char32_t char32_t; #endif -#if !(__has_feature(cxx_exceptions)) +#if !(__has_feature(cxx_exceptions)) && !defined(_LIBCPP_NO_EXCEPTIONS) #define _LIBCPP_NO_EXCEPTIONS #endif Index: include/__mutex_base =================================================================== --- include/__mutex_base +++ include/__mutex_base @@ -40,7 +40,7 @@ public: _LIBCPP_INLINE_VISIBILITY -#ifndef _LIBCPP_HAS_NO_CONSTEXPR +#ifndef _LIBCPP_HAS_NO_CXX14_CONSTEXPR constexpr mutex() _NOEXCEPT : __m_(PTHREAD_MUTEX_INITIALIZER) {} #else mutex() _NOEXCEPT {__m_ = (pthread_mutex_t)PTHREAD_MUTEX_INITIALIZER;} @@ -279,7 +279,7 @@ pthread_cond_t __cv_; public: _LIBCPP_INLINE_VISIBILITY -#ifndef _LIBCPP_HAS_NO_CONSTEXPR +#ifndef _LIBCPP_HAS_NO_CXX14_CONSTEXPR constexpr condition_variable() : __cv_(PTHREAD_COND_INITIALIZER) {} #else condition_variable() {__cv_ = (pthread_cond_t)PTHREAD_COND_INITIALIZER;}