Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/exception.c

    r307a732 rad0be81  
    3737// This macro should be the only thing that needs to change across machines.
    3838// Used in the personality function, way down in termination.
    39 // struct _Unwind_Context * -> _Unwind_Reason_Code(*)()
     39// struct _Unwind_Context * -> _Unwind_Reason_Code(*)(exception *)
    4040#define MATCHER_FROM_CONTEXT(ptr_to_context) \
    41         (*(_Unwind_Reason_Code(**)())(_Unwind_GetCFA(ptr_to_context) + 8))
     41        (*(_Unwind_Reason_Code(**)(exception*))(_Unwind_GetCFA(ptr_to_context) + 8))
    4242
    4343
     
    261261                                        // _Unwind_Reason_Code (*matcher)() = (_Unwind_Reason_Code (*)())lsd_info.LPStart + imatcher;                                   
    262262
    263                                         _Unwind_Reason_Code (*matcher)() =
     263                                        _Unwind_Reason_Code (*matcher)(exception *) =
    264264                                                MATCHER_FROM_CONTEXT(context);
    265                                         int index = matcher(shared_stack.current_exception);
     265                                        int index = matcher(&shared_stack.current_exception);
    266266                                        _Unwind_Reason_Code ret = (0 == index)
    267267                                                ? _URC_CONTINUE_UNWIND : _URC_HANDLER_FOUND;
Note: See TracChangeset for help on using the changeset viewer.