Data Structures | Typedefs | Enumerations | Functions
ia64_cxx_abi.h File Reference

Go to the source code of this file.

Data Structures

struct  _Unwind_Exception
 

Typedefs

typedef void(* _Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code reason, _Unwind_Exception *exc)
 
typedef int _Unwind_Action
 
typedef _Unwind_Reason_Code(* __personality_routine) (int version, _Unwind_Action actions, uint64_t exceptionClass, _Unwind_Exception *exceptionObject, _Unwind_Context *context)
 

Enumerations

enum  _Unwind_Reason_Code {
  _URC_NO_REASON = 0, _URC_FOREIGN_EXCEPTION_CAUGHT = 1, _URC_FATAL_PHASE2_ERROR = 2, _URC_FATAL_PHASE1_ERROR = 3,
  _URC_NORMAL_STOP = 4, _URC_END_OF_STACK = 5, _URC_HANDLER_FOUND = 6, _URC_INSTALL_CONTEXT = 7,
  _URC_CONTINUE_UNWIND = 8
}
 

Functions

_Unwind_Reason_Code _Unwind_RaiseException (_Unwind_Exception *exception_object)
 
void _Unwind_Resume (_Unwind_Exception *exception_object)
 
void _Unwind_DeleteException (_Unwind_Exception *exception_object)
 
uintptr_t _Unwind_GetGR (_Unwind_Context *context, int index)
 
void _Unwind_SetGR (_Unwind_Context *context, int index, uintptr_t value)
 
uintptr_t _Unwind_GetIP (_Unwind_Context *context)
 
void _Unwind_SetIP (_Unwind_Context *context, uintptr_t value)
 
uintptr_t _Unwind_GetLanguageSpecificData (_Unwind_Context *context)
 
uintptr_t _Unwind_GetRegionStart (_Unwind_Context *context)
 
uintptr_t _Unwind_GetIPInfo (_Unwind_Context *context, int *ip_before_insn)
 

Typedef Documentation

◆ _Unwind_Exception_Cleanup_Fn

typedef void(* _Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code reason, _Unwind_Exception *exc)

_Unwind_Exception_Cleanup_Fn

This function is used delete the _Unwind_Exception. Basically, the _Unwind_Exception structure is made up of two parts, the level I part, and the level II part. Since the structure can be larger than what is defined by this spec (i.e. could contain a level II part), the language needs to provide the deleter. The following defines the acceptable reasons:

  • _URC_FOREIGN_EXCEPTION_CAUGHT: This indicates that a different runtime caught this exception. Nested foreign exceptions, or rethrowing a foreign exception, result in undefined behavior
  • _URC_FATAL_PHASE1_ERROR: The personality routine encountered an error during phase 1
  • _URC_FATAL_PHASE2_ERROR: The personality routine encountered an error during phase 2
Parameters
reasonthe reason for deleting exc
excthe _Unwind_Exception to delete

Definition at line 123 of file ia64_cxx_abi.h.

◆ _Unwind_Action

typedef int _Unwind_Action

Definition at line 260 of file ia64_cxx_abi.h.

◆ __personality_routine

typedef _Unwind_Reason_Code(* __personality_routine) (int version, _Unwind_Action actions, uint64_t exceptionClass, _Unwind_Exception *exceptionObject, _Unwind_Context *context)

Definition at line 266 of file ia64_cxx_abi.h.

Enumeration Type Documentation

◆ _Unwind_Reason_Code

_Unwind_Reason_Code

The "reason code" is an enum that is used by the following functions:

  • _Unwind_Exception_Cleanup_Fn
  • _Unwind_RaiseException
  • _Unwind_Stop_Fn
  • _Unwind_ForcedUnwind
  • __personality_routine

It is used to both signal that an error has occurred, as well as tell callback functions what to do, so view it as nothing more than a global enum, were each value has it's own meaning.

Enumerator
_URC_NO_REASON 
_URC_FOREIGN_EXCEPTION_CAUGHT 
_URC_FATAL_PHASE2_ERROR 
_URC_FATAL_PHASE1_ERROR 
_URC_NORMAL_STOP 
_URC_END_OF_STACK 
_URC_HANDLER_FOUND 
_URC_INSTALL_CONTEXT 
_URC_CONTINUE_UNWIND 

Definition at line 87 of file ia64_cxx_abi.h.

Function Documentation

◆ _Unwind_RaiseException()

_Unwind_Reason_Code _Unwind_RaiseException ( _Unwind_Exception exception_object)

Definition at line 151 of file ia64_cxx_abi.cpp.

◆ _Unwind_Resume()

void _Unwind_Resume ( _Unwind_Exception exception_object)

Definition at line 179 of file ia64_cxx_abi.cpp.

◆ _Unwind_DeleteException()

void _Unwind_DeleteException ( _Unwind_Exception exception_object)

Definition at line 191 of file ia64_cxx_abi.cpp.

◆ _Unwind_GetGR()

uintptr_t _Unwind_GetGR ( _Unwind_Context *  context,
int  index 
)

Definition at line 199 of file ia64_cxx_abi.cpp.

◆ _Unwind_SetGR()

void _Unwind_SetGR ( _Unwind_Context *  context,
int  index,
uintptr_t  value 
)

Definition at line 205 of file ia64_cxx_abi.cpp.

◆ _Unwind_GetIP()

uintptr_t _Unwind_GetIP ( _Unwind_Context *  context)

Definition at line 212 of file ia64_cxx_abi.cpp.

◆ _Unwind_SetIP()

void _Unwind_SetIP ( _Unwind_Context *  context,
uintptr_t  value 
)

Definition at line 218 of file ia64_cxx_abi.cpp.

◆ _Unwind_GetLanguageSpecificData()

uintptr_t _Unwind_GetLanguageSpecificData ( _Unwind_Context *  context)

Definition at line 225 of file ia64_cxx_abi.cpp.

◆ _Unwind_GetRegionStart()

uintptr_t _Unwind_GetRegionStart ( _Unwind_Context *  context)

Definition at line 231 of file ia64_cxx_abi.cpp.

◆ _Unwind_GetIPInfo()

uintptr_t _Unwind_GetIPInfo ( _Unwind_Context *  context,
int *  ip_before_insn 
)

Definition at line 237 of file ia64_cxx_abi.cpp.