aboutsummaryrefslogtreecommitdiff
path: root/gdb/break-catch-throw.c
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2015-09-30 14:23:12 -0700
committerKeith Seitz <keiths@redhat.com>2015-10-01 11:48:39 -0700
commit23916b7dc0f2f05982da7a76726d931cf738d2cc (patch)
treeb08bad1994250bf0a7d849fe099fd6f5c2d7da80 /gdb/break-catch-throw.c
parent398e081380a204e3b9fb4eb4da069ccf471f930e (diff)
downloadgdb-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.c9
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);