builtins: erase `struct` modifier for EH personality
On ARM, the `_Unwind_Exception` is an alias for
`struct _Unwind_Control_Block`.  The extra `struct` modifier causes a
warning due to the locally scoped type.  Special case this to avoid the
warning.  NFC.
@@ -145,23 +145,29 @@ static uintptr_t readEncodedPointer(const uint8_t** data, uint8_t encoding)
#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
!defined(__ARM_DWARF_EH__)
#define USING_ARM_EHABI 1
-_Unwind_Reason_Code __gnu_unwind_frame(struct _Unwind_Exception *,
+_Unwind_Reason_Code __gnu_unwind_frame(_Unwind_Exception *,
struct _Unwind_Context *);
#endif
+#if USING_ARM_EHABI
static inline _Unwind_Reason_Code
-continueUnwind(struct _Unwind_Exception *exceptionObject,
+continueUnwind(_Unwind_Exception *exceptionObject,
struct _Unwind_Context *context) {
-#if USING_ARM_EHABI
/*
* On ARM EHABI the personality routine is responsible for actually
* unwinding a single stack frame before returning (ARM EHABI Sec. 6.1).
*/
if (__gnu_unwind_frame(exceptionObject, context) != _URC_OK)
return _URC_FAILURE;
-#endif
return _URC_CONTINUE_UNWIND;
}
+#else
+static inline _Unwind_Reason_Code
+continueUnwind(struct _Unwind_Exception *exceptionObject,
+ struct _Unwind_Context *context) {
+ return _URC_CONTINUE_UNWIND;
+}
+#endif
/*
* The C compiler makes references to __gcc_personality_v0 in
@@ -176,17 +182,19 @@ continueUnwind(struct _Unwind_Exception *exceptionObject,
* different name */
COMPILER_RT_ABI _Unwind_Reason_Code
__gcc_personality_sj0(int version, _Unwind_Action actions,
- uint64_t exceptionClass, struct _Unwind_Exception* exceptionObject,
+ uint64_t exceptionClass,
+ struct _Unwind_Exception *exceptionObject,
struct _Unwind_Context *context)
#elif USING_ARM_EHABI
/* The ARM EHABI personality routine has a different signature. */
-COMPILER_RT_ABI _Unwind_Reason_Code __gcc_personality_v0(
- _Unwind_State state, struct _Unwind_Exception *exceptionObject,
+COMPILER_RT_ABI _Unwind_Reason_Code
+__gcc_personality_v0(_Unwind_State state, _Unwind_Exception *exceptionObject,
struct _Unwind_Context *context)
#else
COMPILER_RT_ABI _Unwind_Reason_Code
__gcc_personality_v0(int version, _Unwind_Action actions,
- uint64_t exceptionClass, struct _Unwind_Exception* exceptionObject,
+ uint64_t exceptionClass,
+ struct _Unwind_Exception *exceptionObject,
struct _Unwind_Context *context)
#endif
{
