Remove make_cleanup_restore_current_uiout
This removes make_cleanup_restore_current_uiout in favor of an RAII-based class. 2016-10-21 Tom Tromey <tom@tromey.com> * stack.c (print_stack_frame_to_uiout): Use scoped_restore. * ui-out.c (make_cleanup_restore_current_uiout) (restore_current_uiout_cleanup): Remove. * infrun.c (print_stop_event): Use scoped_restore. * ui-out.h (make_cleanup_restore_current_uiout): Don't declare.
This commit is contained in:
parent
d1e4a62469
commit
67ad9399e2
6 changed files with 16 additions and 38 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2016-10-21 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* stack.c (print_stack_frame_to_uiout): Use scoped_restore.
|
||||||
|
* ui-out.c (make_cleanup_restore_current_uiout)
|
||||||
|
(restore_current_uiout_cleanup): Remove.
|
||||||
|
* infrun.c (print_stop_event): Use scoped_restore.
|
||||||
|
* ui-out.h (make_cleanup_restore_current_uiout): Don't declare.
|
||||||
|
|
||||||
2016-10-21 Tom Tromey <tom@tromey.com>
|
2016-10-21 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* elfread.c (elf_read_minimal_symbols): Use gdb::unique_ptr.
|
* elfread.c (elf_read_minimal_symbols): Use gdb::unique_ptr.
|
||||||
|
|
14
gdb/infrun.c
14
gdb/infrun.c
|
@ -8084,22 +8084,20 @@ print_stop_location (struct target_waitstatus *ws)
|
||||||
void
|
void
|
||||||
print_stop_event (struct ui_out *uiout)
|
print_stop_event (struct ui_out *uiout)
|
||||||
{
|
{
|
||||||
struct cleanup *old_chain;
|
|
||||||
struct target_waitstatus last;
|
struct target_waitstatus last;
|
||||||
ptid_t last_ptid;
|
ptid_t last_ptid;
|
||||||
struct thread_info *tp;
|
struct thread_info *tp;
|
||||||
|
|
||||||
get_last_target_status (&last_ptid, &last);
|
get_last_target_status (&last_ptid, &last);
|
||||||
|
|
||||||
old_chain = make_cleanup_restore_current_uiout ();
|
{
|
||||||
current_uiout = uiout;
|
scoped_restore save_uiout = make_scoped_restore (¤t_uiout, uiout);
|
||||||
|
|
||||||
print_stop_location (&last);
|
print_stop_location (&last);
|
||||||
|
|
||||||
/* Display the auto-display expressions. */
|
/* Display the auto-display expressions. */
|
||||||
do_displays ();
|
do_displays ();
|
||||||
|
}
|
||||||
do_cleanups (old_chain);
|
|
||||||
|
|
||||||
tp = inferior_thread ();
|
tp = inferior_thread ();
|
||||||
if (tp->thread_fsm != NULL
|
if (tp->thread_fsm != NULL
|
||||||
|
|
|
@ -648,7 +648,7 @@ execute_gdb_command (PyObject *self, PyObject *args, PyObject *kw)
|
||||||
|
|
||||||
scoped_restore save_async = make_scoped_restore (¤t_ui->async, 0);
|
scoped_restore save_async = make_scoped_restore (¤t_ui->async, 0);
|
||||||
|
|
||||||
make_cleanup_restore_current_uiout ();
|
scoped_restore save_uiout = make_scoped_restore (¤t_uiout);
|
||||||
|
|
||||||
/* Use the console interpreter uiout to have the same print format
|
/* Use the console interpreter uiout to have the same print format
|
||||||
for console or MI. */
|
for console or MI. */
|
||||||
|
|
|
@ -149,15 +149,9 @@ print_stack_frame_to_uiout (struct ui_out *uiout, struct frame_info *frame,
|
||||||
int print_level, enum print_what print_what,
|
int print_level, enum print_what print_what,
|
||||||
int set_current_sal)
|
int set_current_sal)
|
||||||
{
|
{
|
||||||
struct cleanup *old_chain;
|
scoped_restore save_uiout = make_scoped_restore (¤t_uiout, uiout);
|
||||||
|
|
||||||
old_chain = make_cleanup_restore_current_uiout ();
|
|
||||||
|
|
||||||
current_uiout = uiout;
|
|
||||||
|
|
||||||
print_stack_frame (frame, print_level, print_what, set_current_sal);
|
print_stack_frame (frame, print_level, print_what, set_current_sal);
|
||||||
|
|
||||||
do_cleanups (old_chain);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Show or print a stack frame FRAME briefly. The output is formatted
|
/* Show or print a stack frame FRAME briefly. The output is formatted
|
||||||
|
|
18
gdb/ui-out.c
18
gdb/ui-out.c
|
@ -952,24 +952,6 @@ ui_out_destroy (struct ui_out *uiout)
|
||||||
xfree (uiout);
|
xfree (uiout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Cleanup that restores a previous current uiout. */
|
|
||||||
|
|
||||||
static void
|
|
||||||
restore_current_uiout_cleanup (void *arg)
|
|
||||||
{
|
|
||||||
struct ui_out *saved_uiout = (struct ui_out *) arg;
|
|
||||||
|
|
||||||
current_uiout = saved_uiout;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* See ui-out.h. */
|
|
||||||
|
|
||||||
struct cleanup *
|
|
||||||
make_cleanup_restore_current_uiout (void)
|
|
||||||
{
|
|
||||||
return make_cleanup (restore_current_uiout_cleanup, current_uiout);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Standard gdb initialization hook. */
|
/* Standard gdb initialization hook. */
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -247,8 +247,4 @@ extern void ui_out_destroy (struct ui_out *uiout);
|
||||||
|
|
||||||
extern int ui_out_redirect (struct ui_out *uiout, struct ui_file *outstream);
|
extern int ui_out_redirect (struct ui_out *uiout, struct ui_file *outstream);
|
||||||
|
|
||||||
/* Make a cleanup that restores the previous current uiout. */
|
|
||||||
|
|
||||||
extern struct cleanup *make_cleanup_restore_current_uiout (void);
|
|
||||||
|
|
||||||
#endif /* UI_OUT_H */
|
#endif /* UI_OUT_H */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue