diff options
author | Keith Seitz <keiths@redhat.com> | 2015-09-30 14:23:12 -0700 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2015-10-01 11:48:39 -0700 |
commit | 23916b7dc0f2f05982da7a76726d931cf738d2cc (patch) | |
tree | b08bad1994250bf0a7d849fe099fd6f5c2d7da80 /gdb/break-catch-throw.c | |
parent | 398e081380a204e3b9fb4eb4da069ccf471f930e (diff) | |
download | gdb-users/keiths/intelligent-breakpoint_re_set.zip gdb-users/keiths/intelligent-breakpoint_re_set.tar.gz gdb-users/keiths/intelligent-breakpoint_re_set.tar.bz2 |
Initial publication of breakpoint reset project.users/keiths/intelligent-breakpoint_re_set
This is a work-in-progress publication of an intelligent breakpoint_re_set
redesign. See the project wiki page for more information:
https://sourceware.org/gdb/wiki/BreakpointReset
Diffstat (limited to 'gdb/break-catch-throw.c')
-rw-r--r-- | gdb/break-catch-throw.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gdb/break-catch-throw.c b/gdb/break-catch-throw.c index 1ba505b..e2668b5 100644 --- a/gdb/break-catch-throw.c +++ b/gdb/break-catch-throw.c @@ -205,7 +205,8 @@ check_status_exception_catchpoint (struct bpstats *bs) /* Implement the 're_set' method. */ static void -re_set_exception_catchpoint (struct breakpoint *self) +re_set_exception_catchpoint (struct breakpoint *self, + struct breakpoint_reset_reason *reason) { struct symtabs_and_lines sals = {0}; struct symtabs_and_lines sals_end = {0}; @@ -236,7 +237,7 @@ re_set_exception_catchpoint (struct breakpoint *self) = ASTRDUP (exception_functions[kind].function); location = new_explicit_location (&explicit_loc); cleanup = make_cleanup_delete_event_location (location); - self->ops->decode_location (self, location, &sals); + self->ops->decode_location (self, location, NULL, &sals); do_cleanups (cleanup); } CATCH (ex, RETURN_MASK_ERROR) @@ -393,6 +394,7 @@ static void handle_gnu_v3_exceptions (int tempflag, char *except_rx, char *cond_string, enum exception_event_kind ex_event, int from_tty) { + struct breakpoint_reset_reason reset_reason; struct exception_catchpoint *cp; struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); regex_t *pattern = NULL; @@ -418,7 +420,8 @@ handle_gnu_v3_exceptions (int tempflag, char *except_rx, char *cond_string, cp->exception_rx = except_rx; cp->pattern = pattern; - re_set_exception_catchpoint (&cp->base); + init_breakpoint_reset_reason (&reset_reason); + re_set_exception_catchpoint (&cp->base, &reset_reason); install_breakpoint (0, &cp->base, 1); discard_cleanups (cleanup); |