From 13fb8966806c7ff29bea6eb47647689f7c0b1115 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Tue, 22 Aug 2017 04:19:51 +0000 Subject: Revert "builtins: erase `struct` modifier for EH personality" This reverts SVN r311425 which broke one of the buildbots. It is unclear what header is being used there. Revert it until that can be handled properly. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@311426 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/builtins/gcc_personality_v0.c | 42 ++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 25 deletions(-) (limited to 'lib') diff --git a/lib/builtins/gcc_personality_v0.c b/lib/builtins/gcc_personality_v0.c index 4e27ac0a9..0bc765624 100644 --- a/lib/builtins/gcc_personality_v0.c +++ b/lib/builtins/gcc_personality_v0.c @@ -145,29 +145,23 @@ 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(_Unwind_Exception *, +_Unwind_Reason_Code __gnu_unwind_frame(struct _Unwind_Exception *, struct _Unwind_Context *); #endif -#if USING_ARM_EHABI -static inline _Unwind_Reason_Code -continueUnwind(_Unwind_Exception *exceptionObject, - struct _Unwind_Context *context) { - /* - * 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; - return _URC_CONTINUE_UNWIND; -} -#else static inline _Unwind_Reason_Code continueUnwind(struct _Unwind_Exception *exceptionObject, struct _Unwind_Context *context) { - return _URC_CONTINUE_UNWIND; -} +#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; +} /* * The C compiler makes references to __gcc_personality_v0 in @@ -182,20 +176,18 @@ 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, - struct _Unwind_Context *context) + 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, _Unwind_Exception *exceptionObject, - struct _Unwind_Context *context) +COMPILER_RT_ABI _Unwind_Reason_Code __gcc_personality_v0( + _Unwind_State state, struct _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, - struct _Unwind_Context *context) + uint64_t exceptionClass, struct _Unwind_Exception* exceptionObject, + struct _Unwind_Context *context) #endif { /* Since C does not have catch clauses, there is nothing to do during */ -- cgit v1.2.3