[PATCH] D15883: Add ARM EHABI-related constants to unwind.h.

Timon Van Overveldt via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 4 21:27:34 PST 2016


timonvo created this revision.
timonvo added a reviewer: logan.
timonvo added a subscriber: cfe-commits.
Herald added subscribers: rengolin, aemerson.

Adds a number of constants, defined in the ARM EHABI spec, to the Clang
lib/Headers/unwind.h header. This is prerequisite for landing
http://reviews.llvm.org/D15781, as previously discussed there.

http://reviews.llvm.org/D15883

Files:
  lib/Headers/unwind.h

Index: lib/Headers/unwind.h
===================================================================
--- lib/Headers/unwind.h
+++ lib/Headers/unwind.h
@@ -79,6 +79,7 @@
 struct _Unwind_Exception;
 typedef enum {
   _URC_NO_REASON = 0,
+  _URC_OK = 0, /* used by ARM EHABI */
   _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
 
   _URC_FATAL_PHASE2_ERROR = 2,
@@ -88,7 +89,8 @@
   _URC_END_OF_STACK = 5,
   _URC_HANDLER_FOUND = 6,
   _URC_INSTALL_CONTEXT = 7,
-  _URC_CONTINUE_UNWIND = 8
+  _URC_CONTINUE_UNWIND = 8,
+  _URC_FAILURE = 9 /* used by ARM EHABI */
 } _Unwind_Reason_Code;
 
 typedef enum {
@@ -150,6 +152,13 @@
   _UVRSR_FAILED = 2
 } _Unwind_VRS_Result;
 
+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)
+
 _Unwind_VRS_Result _Unwind_VRS_Get(struct _Unwind_Context *__context,
   _Unwind_VRS_RegClass __regclass,
   uint32_t __regno,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15883.43961.patch
Type: text/x-patch
Size: 1085 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160105/eedf7ea2/attachment-0001.bin>


More information about the cfe-commits mailing list