diff options
author | Tom Tromey <tom@tromey.com> | 2019-01-23 18:58:33 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2019-01-23 19:06:11 +0000 |
commit | 2cc83d1e0eeaad9927553ee157f810e43d47d24f (patch) | |
tree | f2fc177c3d2f11e1f17ea1733364d2601037ee69 /gdb | |
parent | 694c6bf5425024a8654a5541dec88e4dd6ddafb5 (diff) | |
download | gdb-2cc83d1e0eeaad9927553ee157f810e43d47d24f.zip gdb-2cc83d1e0eeaad9927553ee157f810e43d47d24f.tar.gz gdb-2cc83d1e0eeaad9927553ee157f810e43d47d24f.tar.bz2 |
Remove cleanup_delete_std_terminate_breakpoint
This removes cleanup_delete_std_terminate_breakpoint, replacing it
with a use of SCOPE_EXIT.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* infcall.c (cleanup_delete_std_terminate_breakpoint): Remove.
(call_function_by_hand_dummy): Use SCOPE_EXIT.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/infcall.c | 13 |
2 files changed, 8 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b10e051..21b72e3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,4 +1,10 @@ 2019-01-23 Tom Tromey <tom@tromey.com> + Pedro Alves <palves@redhat.com> + + * infcall.c (cleanup_delete_std_terminate_breakpoint): Remove. + (call_function_by_hand_dummy): Use SCOPE_EXIT. + +2019-01-23 Tom Tromey <tom@tromey.com> Andrew Burgess <andrew.burgess@embecosm.com> Pedro Alves <palves@redhat.com> diff --git a/gdb/infcall.c b/gdb/infcall.c index 14b0cbc..6ca479a 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -40,6 +40,7 @@ #include "interps.h" #include "thread-fsm.h" #include <algorithm> +#include "common/scope-exit.h" /* If we can't find a function's name from its address, we print this instead. */ @@ -675,13 +676,6 @@ run_inferior_call (struct call_thread_fsm *sm, return caught_error; } -/* A cleanup function that calls delete_std_terminate_breakpoint. */ -static void -cleanup_delete_std_terminate_breakpoint (void *ignore) -{ - delete_std_terminate_breakpoint (); -} - /* See infcall.h. */ struct value * @@ -727,7 +721,6 @@ call_function_by_hand_dummy (struct value *function, struct frame_id dummy_id; struct frame_info *frame; struct gdbarch *gdbarch; - struct cleanup *terminate_bp_cleanup; ptid_t call_thread_ptid; struct gdb_exception e; char name_buf[RAW_FUNCTION_ADDRESS_SIZE]; @@ -1122,8 +1115,7 @@ call_function_by_hand_dummy (struct value *function, dummy_dtor, dummy_dtor_data); /* Register a clean-up for unwind_on_terminating_exception_breakpoint. */ - terminate_bp_cleanup = make_cleanup (cleanup_delete_std_terminate_breakpoint, - NULL); + SCOPE_EXIT { delete_std_terminate_breakpoint (); }; /* - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - If you're looking to implement asynchronous dummy-frames, then @@ -1184,7 +1176,6 @@ call_function_by_hand_dummy (struct value *function, maybe_remove_breakpoints (); - do_cleanups (terminate_bp_cleanup); gdb_assert (retval != NULL); return retval; } |