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,
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,
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits