summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-08-22 04:19:51 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-08-22 04:19:51 +0000
commit13fb8966806c7ff29bea6eb47647689f7c0b1115 (patch)
treec6315e65d2e59385e309be9d1d1ac7bdd45eb0ac /lib
parent672167943f148689557e70a137e8f8f19ffdd412 (diff)
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
Diffstat (limited to 'lib')
-rw-r--r--lib/builtins/gcc_personality_v0.c42
1 files changed, 17 insertions, 25 deletions
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 */