core.internal.backtrace.unwind

Binding for libunwind/libgc's unwind.h

Those bindings expose the _Unwind_* symbols used by druntime to do exception handling.

See Also

Itanium C++ ABI: Exception Handling ($Revision: 1.22 $)

Source: core/internal/backtrace/_unwind.d

Types 15

alias_Unwind_Word = uintptr_t
alias_Unwind_Sword = intptr_t
alias_Unwind_Ptr = uintptr_t
alias_Unwind_Internal_Ptr = uintptr_t
alias_Unwind_Exception_Class = ulong
alias_uleb128_t = uintptr_t
alias_sleb128_t = intptr_t
alias_Unwind_Reason_Code = int
alias_Unwind_Action = int
alias_Unwind_Exception_Cleanup_Fn = void function( _Unwind_Reason_Code reason, _Unwind_Exception * exc)
struct_Unwind_Context
alias_Unwind_Stop_Fn = _Unwind_Reason_Code function( int _version, _Unwind_Action actions, _Unwind_Exception_Class exceptionClass, _Unwind_Exception * exceptionObject, _Unwind_Context * context, void * stop_parameter)
alias_Unwind_Trace_Fn = _Unwind_Reason_Code function(_Unwind_Context *, void *)
alias_Unwind_Personality_Fn = _Unwind_Reason_Code function( int _version, _Unwind_Action actions, _Unwind_Exception_Class exceptionClass, _Unwind_Exception * exceptionObject, _Unwind_Context * context)

Functions 22

fn_Unwind_Reason_Code _Unwind_RaiseException(_Unwind_Exception * exception_object)
fn_Unwind_Reason_Code _Unwind_ForcedUnwind( _Unwind_Exception * exception_object, _Unwind_Stop_Fn stop, void * stop_parameter)
fnvoid _Unwind_DeleteException(_Unwind_Exception * exception_object)
fnvoid _Unwind_Resume(_Unwind_Exception * exception_object)
fn_Unwind_Reason_Code _Unwind_Resume_or_Rethrow(_Unwind_Exception * exception_object)
fn_Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, void *) nothrow;
fn_Unwind_Word _Unwind_GetGR(_Unwind_Context * context, int index) nothrow;
fnvoid _Unwind_SetGR(_Unwind_Context * context, int index, _Unwind_Word new_value) nothrow;
fn_Unwind_Ptr _Unwind_GetIP(_Unwind_Context * context) nothrow;
fn_Unwind_Ptr _Unwind_GetIPInfo(_Unwind_Context * context, int *) nothrow;
fnvoid _Unwind_SetIP(_Unwind_Context * context, _Unwind_Ptr new_value) nothrow;
fn_Unwind_Word _Unwind_GetCFA(_Unwind_Context *) nothrow;
fn_Unwind_Word _Unwind_GetBSP(_Unwind_Context *) nothrow;
fnvoid * _Unwind_GetLanguageSpecificData(_Unwind_Context *) nothrow;
fn_Unwind_Ptr _Unwind_GetRegionStart(_Unwind_Context * context) nothrow;
fnvoid * _Unwind_FindEnclosingFunction(void * pc) nothrow;
fn_Unwind_Reason_Code _Unwind_SjLj_RaiseException(_Unwind_Exception *)
fn_Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind(_Unwind_Exception , _Unwind_Stop_Fn, void *)
fnvoid _Unwind_SjLj_Resume(_Unwind_Exception *)
fn_Unwind_Reason_Code _Unwind_SjLj_Resume_or_Rethrow(_Unwind_Exception *)

Variables 5

enumvar_UA_SEARCH_PHASE = 1
enumvar_UA_CLEANUP_PHASE = 2
enumvar_UA_HANDLER_FRAME = 4
enumvar_UA_FORCE_UNWIND = 8
enumvar_UA_END_OF_STACK = 16