Remove ALL_UIS

Continuing my goal of removing the "ALL_*" iterator macros, this
removes ALL_UIS, replacing it with an iterator adaptor.

gdb/ChangeLog
2020-05-16  Tom Tromey  <tom@tromey.com>

	* top.c (quit_force): Update.
	* infrun.c (handle_no_resumed): Update.
	* top.h (all_uis): New function.
	(ALL_UIS): Remove.
This commit is contained in:
Tom Tromey 2020-05-16 09:58:45 -06:00
parent 59f7bd8d2b
commit 2dab0c7ba0
4 changed files with 16 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2020-05-16 Tom Tromey <tom@tromey.com>
* top.c (quit_force): Update.
* infrun.c (handle_no_resumed): Update.
* top.h (all_uis): New function.
(ALL_UIS): Remove.
2020-05-16 Simon Marchi <simon.marchi@efficios.com>
* mips-linux-tdep.c (mips_linux_in_dynsym_stub): Fix condition.

View File

@ -5045,10 +5045,9 @@ handle_no_resumed (struct execution_control_state *ecs)
{
if (target_can_async_p ())
{
struct ui *ui;
int any_sync = 0;
ALL_UIS (ui)
for (ui *ui : all_uis ())
{
if (ui->prompt_state == PROMPT_BLOCKED)
{

View File

@ -1782,12 +1782,11 @@ quit_force (int *exit_arg, int from_tty)
{
if (write_history_p && history_filename)
{
struct ui *ui;
int save = 0;
/* History is currently shared between all UIs. If there's
any UI with a terminal, save history. */
ALL_UIS (ui)
for (ui *ui : all_uis ())
{
if (input_interactive_p (ui))
{

View File

@ -22,6 +22,7 @@
#include "gdbsupport/buffer.h"
#include "gdbsupport/event-loop.h"
#include "gdbsupport/next-iterator.h"
#include "value.h"
struct tl_interp_info;
@ -206,9 +207,12 @@ public:
#define SWITCH_THRU_ALL_UIS() \
for (switch_thru_all_uis stau_state; !stau_state.done (); stau_state.next ())
/* Traverse over all UIs. */
#define ALL_UIS(UI) \
for (UI = ui_list; UI; UI = UI->next) \
/* An adapter that can be used to traverse over all UIs. */
static inline
next_adapter<ui> all_uis ()
{
return next_adapter<ui> (ui_list);
}
/* Register the UI's input file descriptor in the event loop. */
extern void ui_register_input_event_handler (struct ui *ui);