summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2017-07-27 22:08:00 +0000
committerHans Wennborg <hans@hanshq.net>2017-07-27 22:08:00 +0000
commit5ca288a74db287f2b94e7723f74a224c8f20056a (patch)
tree57d820b7c7ee6334b080d56ddea643e2b703bcd5
parentce8c97e6531764a45df229d82e49a4ddb7980671 (diff)
Merging r309327:
------------------------------------------------------------------------ r309327 | compnerd | 2017-07-27 14:56:25 -0700 (Thu, 27 Jul 2017) | 5 lines Headers: fix _Unwind_{G,S}etGR for non-EHABI targets The EHABI definition was being inlined into the users even when EHABI was not in use. Adjust the condition to ensure that the right version is defined. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_50@309328 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Headers/unwind.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/Headers/unwind.h b/lib/Headers/unwind.h
index cbdd505f6c..e94b00b57c 100644
--- a/lib/Headers/unwind.h
+++ b/lib/Headers/unwind.h
@@ -177,8 +177,7 @@ typedef _Unwind_Personality_Fn __personality_routine;
typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)(struct _Unwind_Context *,
void *);
-#if defined(__arm__) && !defined(__APPLE__)
-
+#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH___))
typedef enum {
_UVRSC_CORE = 0, /* integer register */
_UVRSC_VFP = 1, /* vfp */
@@ -200,14 +199,12 @@ typedef enum {
_UVRSR_FAILED = 2
} _Unwind_VRS_Result;
-#if !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__ARM_DWARF_EH__)
typedef uint32_t _Unwind_State;
#define _US_VIRTUAL_UNWIND_FRAME ((_Unwind_State)0)
#define _US_UNWIND_FRAME_STARTING ((_Unwind_State)1)
#define _US_UNWIND_FRAME_RESUME ((_Unwind_State)2)
#define _US_ACTION_MASK ((_Unwind_State)3)
#define _US_FORCE_UNWIND ((_Unwind_State)8)
-#endif
_Unwind_VRS_Result _Unwind_VRS_Get(struct _Unwind_Context *__context,
_Unwind_VRS_RegClass __regclass,