From d6e233687f0e2a20e77f864f96503d1b73f9d7de Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Wed, 25 Jun 2014 23:52:07 +0000 Subject: Update libc++abi to use the ARM EHABI unwinder from its libunwind. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@211745 91177308-0d34-0410-b5e6-96231b3b80d8 --- src/cxa_exception.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/cxa_exception.cpp') diff --git a/src/cxa_exception.cpp b/src/cxa_exception.cpp index 13c060c..d5bc74a 100644 --- a/src/cxa_exception.cpp +++ b/src/cxa_exception.cpp @@ -447,8 +447,17 @@ For a foreign exception: */ void __cxa_end_catch() { - static_assert(sizeof(__cxa_exception) == sizeof(__cxa_dependent_exception), - "sizeof(__cxa_exception) must be equal to sizeof(__cxa_dependent_exception)"); + static_assert(sizeof(__cxa_exception) == sizeof(__cxa_dependent_exception), + "sizeof(__cxa_exception) must be equal to " + "sizeof(__cxa_dependent_exception)"); + static_assert(offsetof(__cxa_exception, referenceCount) == + offsetof(__cxa_dependent_exception, primaryException), + "the layout of __cxa_exception must match the layout of " + "__cxa_dependent_exception"); + static_assert(offsetof(__cxa_exception, handlerCount) == + offsetof(__cxa_dependent_exception, handlerCount), + "the layout of __cxa_exception must match the layout of " + "__cxa_dependent_exception"); __cxa_eh_globals* globals = __cxa_get_globals_fast(); // __cxa_get_globals called in __cxa_begin_catch __cxa_exception* exception_header = globals->caughtExceptions; // If we've rethrown a foreign exception, then globals->caughtExceptions -- cgit v1.2.3