EXCEPTIONS_SIGJMP_BUF * exceptions_state_mc_init (volatile struct gdb_exception *exception, return_mask mask) { struct catcher *new_catcher = XCNEW (struct catcher); /* Start with no exception, save it's address. */ exception->reason = 0; exception->error = GDB_NO_ERROR; exception->message = NULL; new_catcher->exception = exception; new_catcher->mask = mask; /* Prevent error/quit during FUNC from calling cleanups established prior to here. */ new_catcher->saved_cleanup_chain = save_cleanups (); /* Push this new catcher on the top. */ new_catcher->prev = current_catcher; current_catcher = new_catcher; new_catcher->state = CATCHER_CREATED; return &new_catcher->buf; }
SIGJMP_BUF * exceptions_state_mc_init (void) { struct catcher *new_catcher = XCNEW (struct catcher); /* Start with no exception. */ new_catcher->exception = exception_none; /* Prevent error/quit during FUNC from calling cleanups established prior to here. */ new_catcher->saved_cleanup_chain = save_cleanups (); /* Push this new catcher on the top. */ new_catcher->prev = current_catcher; current_catcher = new_catcher; new_catcher->state = CATCHER_CREATED; return &new_catcher->buf; }
void * exception_try_scope_entry (void) { ++try_scope_depth; return (void *) save_cleanups (); }