diff --git libcxx/include/ostream libcxx/include/ostream --- libcxx/include/ostream +++ libcxx/include/ostream @@ -320,7 +320,10 @@ template basic_ostream<_CharT, _Traits>::sentry::~sentry() { if (__os_.rdbuf() && __os_.good() && (__os_.flags() & ios_base::unitbuf) - && !uncaught_exception()) +#ifndef _LIBCPP_HAS_NO_EXCEPTIONS + && !uncaught_exception() +#endif + ) { #ifndef _LIBCPP_HAS_NO_EXCEPTIONS try diff --git libcxx/src/exception.cpp libcxx/src/exception.cpp --- libcxx/src/exception.cpp +++ libcxx/src/exception.cpp @@ -19,6 +19,9 @@ #if defined(_LIBCPP_ABI_MICROSOFT) #include "support/runtime/exception_msvc.ipp" #include "support/runtime/exception_pointer_msvc.ipp" +#elif defined(_LIBCPPABI_VERSION) && defined(_LIBCPP_HAS_NO_EXCEPTIONS) +#include "include/atomic_support.h" +#include "support/runtime/exception_pointer_unimplemented.ipp" #elif defined(_LIBCPPABI_VERSION) #include "support/runtime/exception_libcxxabi.ipp" #include "support/runtime/exception_pointer_cxxabi.ipp"