summaryrefslogtreecommitdiff
path: root/src/cxa_handlers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cxa_handlers.cpp')
-rw-r--r--src/cxa_handlers.cpp10
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;