Author: compnerd Date: Tue Nov 17 23:33:38 2015 New Revision: 253435 URL: http://llvm.org/viewvc/llvm-project?rev=253435&view=rev Log: c++abi: use __builtin_offsetof instead of offsetof
Use `__builtin_offsetof` in place of `offsetof`. Certain environments provide a macro definition of `offsetof` which may end up causing issues. This was observed on Windows. Use `__builtin_offsetof` to ensure correct evaluation everywhere. NFC. Modified: libcxxabi/trunk/src/cxa_exception.cpp Modified: libcxxabi/trunk/src/cxa_exception.cpp URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_exception.cpp?rev=253435&r1=253434&r2=253435&view=diff ============================================================================== --- libcxxabi/trunk/src/cxa_exception.cpp (original) +++ libcxxabi/trunk/src/cxa_exception.cpp Tue Nov 17 23:33:38 2015 @@ -448,14 +448,15 @@ 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(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"); + static_assert(__builtin_offsetof(__cxa_exception, referenceCount) == + __builtin_offsetof(__cxa_dependent_exception, + primaryException), + "the layout of __cxa_exception must match the layout of " + "__cxa_dependent_exception"); + static_assert(__builtin_offsetof(__cxa_exception, handlerCount) == + __builtin_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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits