aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2000-05-15 05:54:02 +0000
committerAndrew Cagney <cagney@redhat.com>2000-05-15 05:54:02 +0000
commit4d6140d95eace437441b17dd43a7b0a456d3803a (patch)
tree6ebc416c9c0ea228f20b88c26221020dde972f3e /gdb/breakpoint.c
parent3339cf8b68bc5b7f14a4d255daae2a06b8dd5d77 (diff)
downloadgdb-4d6140d95eace437441b17dd43a7b0a456d3803a.zip
gdb-4d6140d95eace437441b17dd43a7b0a456d3803a.tar.gz
gdb-4d6140d95eace437441b17dd43a7b0a456d3803a.tar.bz2
Cleanup delete_breakpoint cleanups.
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r--gdb/breakpoint.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 98bd236..7826a65 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -5752,10 +5752,9 @@ until_break_command (arg, from_tty)
breakpoint = set_momentary_breakpoint (sal, selected_frame, bp_until);
if (!event_loop_p || !target_can_async_p ())
- old_chain = make_cleanup ((make_cleanup_func) delete_breakpoint,
- breakpoint);
+ old_chain = make_cleanup_delete_breakpoint (breakpoint);
else
- old_chain = make_exec_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint);
+ old_chain = make_exec_cleanup_delete_breakpoint (breakpoint);
/* If we are running asynchronously, and the target supports async
execution, we are not waiting for the target to stop, in the call
@@ -5786,9 +5785,9 @@ until_break_command (arg, from_tty)
sal.pc = prev_frame->pc;
breakpoint = set_momentary_breakpoint (sal, prev_frame, bp_until);
if (!event_loop_p || !target_can_async_p ())
- make_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint);
+ make_cleanup_delete_breakpoint (breakpoint);
else
- make_exec_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint);
+ make_exec_cleanup_delete_breakpoint (breakpoint);
}
proceed (-1, TARGET_SIGNAL_DEFAULT, 0);
@@ -7068,6 +7067,24 @@ delete_breakpoint (bpt)
free ((PTR) bpt);
}
+static void
+do_delete_breakpoint_cleanup (void *b)
+{
+ delete_breakpoint (b);
+}
+
+struct cleanup *
+make_cleanup_delete_breakpoint (struct breakpoint *b)
+{
+ return make_cleanup (do_delete_breakpoint_cleanup, b);
+}
+
+struct cleanup *
+make_exec_cleanup_delete_breakpoint (struct breakpoint *b)
+{
+ return make_exec_cleanup (do_delete_breakpoint_cleanup, b);
+}
+
void
delete_command (arg, from_tty)
char *arg;