Index: src/stdexcept.cpp =================================================================== --- src/stdexcept.cpp +++ src/stdexcept.cpp @@ -43,20 +43,6 @@ return *this; } -#if !defined(_LIBCPPABI_VERSION) && !defined(LIBSTDCXX) - -logic_error::~logic_error() _NOEXCEPT -{ -} - -const char* -logic_error::what() const _NOEXCEPT -{ - return __imp_.c_str(); -} - -#endif - runtime_error::runtime_error(const string& msg) : __imp_(msg.c_str()) { } @@ -79,8 +65,10 @@ #if !defined(_LIBCPPABI_VERSION) && !defined(LIBSTDCXX) -runtime_error::~runtime_error() _NOEXCEPT +const char* +logic_error::what() const _NOEXCEPT { + return __imp_.c_str(); } const char* @@ -89,15 +77,20 @@ return __imp_.c_str(); } +#if !defined(_LIBCPP_ABI_MICROSOFT) || defined(_LIBCPP_NO_VCRUNTIME) + +logic_error::~logic_error() _NOEXCEPT {} domain_error::~domain_error() _NOEXCEPT {} invalid_argument::~invalid_argument() _NOEXCEPT {} length_error::~length_error() _NOEXCEPT {} out_of_range::~out_of_range() _NOEXCEPT {} +runtime_error::~runtime_error() _NOEXCEPT {} range_error::~range_error() _NOEXCEPT {} overflow_error::~overflow_error() _NOEXCEPT {} underflow_error::~underflow_error() _NOEXCEPT {} #endif +#endif } // std