From 4d6140d95eace437441b17dd43a7b0a456d3803a Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Mon, 15 May 2000 05:54:02 +0000 Subject: [PATCH] Cleanup delete_breakpoint cleanups. --- gdb/ChangeLog | 12 ++++++++++++ gdb/breakpoint.c | 27 ++++++++++++++++++++++----- gdb/breakpoint.h | 4 ++++ gdb/hppa-tdep.c | 2 +- gdb/infcmd.c | 4 ++-- 5 files changed, 41 insertions(+), 8 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 339479145cd..04b6f7927e9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +Mon May 15 14:06:23 2000 Andrew Cagney + + * breakpoint.h (make_cleanup_delete_breakpoint, + make_exec_cleanup_delete_breakpoint): Declare. + * breakpoint.c (make_cleanup_delete_breakpoint, + make_exec_cleanup_delete_breakpoint, + do_delete_breakpoint_cleanup): New fuctions. + + * infcmd.c (finish_command), hppa-tdep.c (hppa_pop_frame), + breakpoint.c (until_break_command, until_break_command): Replace + call to make_cleanup / make_exec_cleanup. + Mon May 15 13:25:57 2000 Andrew Cagney * defs.h (core_addr_greaterthan, core_addr_lessthan), utils.c diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 98bd2367a88..7826a654076 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; diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 1b4e02aa7b2..12f110f895c 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -543,6 +543,10 @@ extern void mark_breakpoints_out PARAMS ((void)); extern void breakpoint_init_inferior PARAMS ((enum inf_context)); +extern struct cleanup *make_cleanup_delete_breakpoint (struct breakpoint *); + +extern struct cleanup *make_exec_cleanup_delete_breakpoint (struct breakpoint *); + extern void delete_breakpoint PARAMS ((struct breakpoint *)); extern void breakpoint_auto_delete PARAMS ((bpstat)); diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index f97b3c84eda..e7adf10bb81 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -1618,7 +1618,7 @@ hppa_pop_frame () breakpoint->silent = 1; /* So we can clean things up. */ - old_chain = make_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint); + old_chain = make_cleanup_delete_breakpoint (breakpoint); /* Start up the inferior. */ clear_proceed_status (); diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 162b824a530..19f52602696 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -1194,9 +1194,9 @@ finish_command (arg, from_tty) breakpoint = set_momentary_breakpoint (sal, frame, bp_finish); 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); /* Find the function we will return from. */ -- 2.30.2