Remove make_bpstat_clear_actions_cleanup
This removes make_bpstat_clear_actions_cleanup, replacing it with uses of scope_exit. gdb/ChangeLog: 2019-01-23 Tom Tromey <tom@tromey.com> Andrew Burgess <andrew.burgess@embecosm.com> Pedro Alves <palves@redhat.com> * infrun.c (fetch_inferior_event): Use scope_exit. * utils.h (make_bpstat_clear_actions_cleanup): Don't declare. * top.c (execute_command): Use scope_exit. * breakpoint.c (bpstat_do_actions): Use scope_exit. * utils.c (do_bpstat_clear_actions_cleanup) (make_bpstat_clear_actions_cleanup): Remove.
This commit is contained in:
parent
4c41382ac1
commit
694c6bf542
@ -1,3 +1,14 @@
|
||||
2019-01-23 Tom Tromey <tom@tromey.com>
|
||||
Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
Pedro Alves <palves@redhat.com>
|
||||
|
||||
* infrun.c (fetch_inferior_event): Use scope_exit.
|
||||
* utils.h (make_bpstat_clear_actions_cleanup): Don't declare.
|
||||
* top.c (execute_command): Use scope_exit.
|
||||
* breakpoint.c (bpstat_do_actions): Use scope_exit.
|
||||
* utils.c (do_bpstat_clear_actions_cleanup)
|
||||
(make_bpstat_clear_actions_cleanup): Remove.
|
||||
|
||||
2019-01-23 Tom Tromey <tom@tromey.com>
|
||||
Pedro Alves <palves@redhat.com>
|
||||
|
||||
|
@ -4468,7 +4468,7 @@ get_bpstat_thread ()
|
||||
void
|
||||
bpstat_do_actions (void)
|
||||
{
|
||||
struct cleanup *cleanup_if_error = make_bpstat_clear_actions_cleanup ();
|
||||
auto cleanup_if_error = make_scope_exit (bpstat_clear_actions);
|
||||
thread_info *tp;
|
||||
|
||||
/* Do any commands attached to breakpoint we are stopped at. */
|
||||
@ -4482,7 +4482,7 @@ bpstat_do_actions (void)
|
||||
break;
|
||||
}
|
||||
|
||||
discard_cleanups (cleanup_if_error);
|
||||
cleanup_if_error.release ();
|
||||
}
|
||||
|
||||
/* Print out the (old or new) value associated with a watchpoint. */
|
||||
|
@ -3745,8 +3745,8 @@ fetch_inferior_event (void *client_data)
|
||||
|
||||
/* Get executed before make_cleanup_restore_current_thread above to apply
|
||||
still for the thread which has thrown the exception. */
|
||||
struct cleanup *ts_old_chain = make_bpstat_clear_actions_cleanup ();
|
||||
|
||||
auto defer_bpstat_clear
|
||||
= make_scope_exit (bpstat_clear_actions);
|
||||
auto defer_delete_threads
|
||||
= make_scope_exit (delete_just_stopped_threads_infrun_breakpoints);
|
||||
|
||||
@ -3802,7 +3802,7 @@ fetch_inferior_event (void *client_data)
|
||||
}
|
||||
|
||||
defer_delete_threads.release ();
|
||||
discard_cleanups (ts_old_chain);
|
||||
defer_bpstat_clear.release ();
|
||||
|
||||
/* No error, don't finish the thread states yet. */
|
||||
finish_state.release ();
|
||||
|
@ -52,6 +52,7 @@
|
||||
#include "frame.h"
|
||||
#include "buffer.h"
|
||||
#include "gdb_select.h"
|
||||
#include "common/scope-exit.h"
|
||||
|
||||
/* readline include files. */
|
||||
#include "readline/readline.h"
|
||||
@ -539,12 +540,11 @@ set_repeat_arguments (const char *args)
|
||||
void
|
||||
execute_command (const char *p, int from_tty)
|
||||
{
|
||||
struct cleanup *cleanup_if_error;
|
||||
struct cmd_list_element *c;
|
||||
const char *line;
|
||||
const char *cmd_start = p;
|
||||
|
||||
cleanup_if_error = make_bpstat_clear_actions_cleanup ();
|
||||
auto cleanup_if_error = make_scope_exit (bpstat_clear_actions);
|
||||
scoped_value_mark cleanup = prepare_execute_command ();
|
||||
|
||||
/* Force cleanup of any alloca areas if using C alloca instead of
|
||||
@ -554,7 +554,7 @@ execute_command (const char *p, int from_tty)
|
||||
/* This can happen when command_line_input hits end of file. */
|
||||
if (p == NULL)
|
||||
{
|
||||
discard_cleanups (cleanup_if_error);
|
||||
cleanup_if_error.release ();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -649,7 +649,7 @@ execute_command (const char *p, int from_tty)
|
||||
if (has_stack_frames () && inferior_thread ()->state != THREAD_RUNNING)
|
||||
check_frame_language_change ();
|
||||
|
||||
discard_cleanups (cleanup_if_error);
|
||||
cleanup_if_error.release ();
|
||||
}
|
||||
|
||||
/* Run execute_command for P and FROM_TTY. Capture its output into the
|
||||
|
17
gdb/utils.c
17
gdb/utils.c
@ -3057,23 +3057,6 @@ parse_pid_to_attach (const char *args)
|
||||
return pid;
|
||||
}
|
||||
|
||||
/* Helper for make_bpstat_clear_actions_cleanup. */
|
||||
|
||||
static void
|
||||
do_bpstat_clear_actions_cleanup (void *unused)
|
||||
{
|
||||
bpstat_clear_actions ();
|
||||
}
|
||||
|
||||
/* Call bpstat_clear_actions for the case an exception is throw. You should
|
||||
discard_cleanups if no exception is caught. */
|
||||
|
||||
struct cleanup *
|
||||
make_bpstat_clear_actions_cleanup (void)
|
||||
{
|
||||
return make_cleanup (do_bpstat_clear_actions_cleanup, NULL);
|
||||
}
|
||||
|
||||
/* Substitute all occurences of string FROM by string TO in *STRINGP. *STRINGP
|
||||
must come from xrealloc-compatible allocator and it may be updated. FROM
|
||||
needs to be delimited by IS_DIR_SEPARATOR or DIRNAME_SEPARATOR (or be
|
||||
|
@ -286,7 +286,6 @@ private:
|
||||
int m_save_batch_flag;
|
||||
};
|
||||
|
||||
extern struct cleanup *make_bpstat_clear_actions_cleanup (void);
|
||||
|
||||
/* Path utilities. */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user