diff options
author | Andrew Cagney <cagney@redhat.com> | 2000-05-15 05:54:02 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2000-05-15 05:54:02 +0000 |
commit | 4d6140d95eace437441b17dd43a7b0a456d3803a (patch) | |
tree | 6ebc416c9c0ea228f20b88c26221020dde972f3e /gdb | |
parent | 3339cf8b68bc5b7f14a4d255daae2a06b8dd5d77 (diff) | |
download | gdb-4d6140d95eace437441b17dd43a7b0a456d3803a.zip gdb-4d6140d95eace437441b17dd43a7b0a456d3803a.tar.gz gdb-4d6140d95eace437441b17dd43a7b0a456d3803a.tar.bz2 |
Cleanup delete_breakpoint cleanups.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 12 | ||||
-rw-r--r-- | gdb/breakpoint.c | 27 | ||||
-rw-r--r-- | gdb/breakpoint.h | 4 | ||||
-rw-r--r-- | gdb/hppa-tdep.c | 2 | ||||
-rw-r--r-- | gdb/infcmd.c | 4 |
5 files changed, 41 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3394791..04b6f79 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +Mon May 15 14:06:23 2000 Andrew Cagney <cagney@b1.cygnus.com> + + * 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 <cagney@b1.cygnus.com> * defs.h (core_addr_greaterthan, core_addr_lessthan), utils.c 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; diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 1b4e02a..12f110f 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 f97b3c8..e7adf10 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 162b824..19f5260 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. */ |