diff options
Diffstat (limited to 'src/cxa_handlers.cpp')
-rw-r--r-- | src/cxa_handlers.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/cxa_handlers.cpp b/src/cxa_handlers.cpp index 015a06e..be43181 100644 --- a/src/cxa_handlers.cpp +++ b/src/cxa_handlers.cpp @@ -37,8 +37,9 @@ static void default_terminate_handler() { _Unwind_Exception* unwind_exception = reinterpret_cast<_Unwind_Exception*>(exception_header + 1) - 1; - bool native_exception = (unwind_exception->exception_class & get_language) == - (kOurExceptionClass & get_language); + bool native_exception = + (unwind_exception->exception_class & get_vendor_and_language) == + (kOurExceptionClass & get_vendor_and_language); if (native_exception) { void* thrown_object = @@ -167,8 +168,9 @@ terminate() _NOEXCEPT { _Unwind_Exception* unwind_exception = reinterpret_cast<_Unwind_Exception*>(exception_header + 1) - 1; - bool native_exception = (unwind_exception->exception_class & get_language) == - (kOurExceptionClass & get_language); + bool native_exception = + (unwind_exception->exception_class & get_vendor_and_language) == + (kOurExceptionClass & get_vendor_and_language); if (native_exception) { __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1; |