Lines 108-113
Link Here
|
108 |
struct __cxa_exception { |
108 |
struct __cxa_exception { |
109 |
#if defined _LIBCPPABI_VERSION // detect libc++abi |
109 |
#if defined _LIBCPPABI_VERSION // detect libc++abi |
110 |
#if defined __LP64__ || LIBCXXABI_ARM_EHABI |
110 |
#if defined __LP64__ || LIBCXXABI_ARM_EHABI |
|
|
111 |
|
112 |
// This is a new field added with LLVM 10 |
113 |
// <https://github.com/llvm/llvm-project/commit/f2a436058fcbc11291e73badb44e243f61046183> |
114 |
// "[libcxxabi] Insert padding in __cxa_exception struct for compatibility". |
115 |
|
116 |
// Now _Unwind_Exception is marked with __attribute__((aligned)), |
117 |
// which implies __cxa_exception is also aligned. Insert padding |
118 |
// in the beginning of the struct, rather than before unwindHeader. |
119 |
void *reserve; |
120 |
|
111 |
std::size_t referenceCount; |
121 |
std::size_t referenceCount; |
112 |
#endif |
122 |
#endif |