[PATCH 48/66] Remove tui_alloc_win_info

Tom Tromey
2019-06-23T23:26:35Z

There is only a single caller of tui_alloc_win_info, and we're going
to add more "new" cases to that caller, so remove tui_alloc_win_info
and inline it into init_and_make_win.

2019-06-23 Tom Tromey <tom@tromey.com>

* tui/tui-data.h (tui_alloc_win_info): Don't declare.
* tui/tui-layout.c (init_and_make_win): Use "new" directly.
* tui/tui-data.c (tui_alloc_win_info): Remove.
---
gdb/ChangeLog | 6 ++++++
gdb/tui/tui-data.c | 22 ----------------------
gdb/tui/tui-data.h | 1 -
gdb/tui/tui-layout.c | 27 +++++++++++++++++++++++----
4 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c
index 7af9c19fa4d..9b247b46808 100644
--- a/gdb/tui/tui-data.c
+++ b/gdb/tui/tui-data.c
@@ -419,28 +419,6 @@ tui_source_window_base::tui_source_window_base (enum tui_win_type type)
start_line_or_addr.u.addr = 0;
}

-struct tui_win_info *
-tui_alloc_win_info (enum tui_win_type type)
-{
- switch (type)
- {
- case SRC_WIN:
- return new tui_source_window ();
-
- case DISASSEM_WIN:
- return new tui_disasm_window ();
-
- case DATA_WIN:
- return new tui_data_window ();
-
- case CMD_WIN:
- return new tui_cmd_window ();
- }
-
- gdb_assert_not_reached (_("Unhandled window type"));
-}
-
-
/* Allocates the content and elements in a block. */
tui_win_content
tui_alloc_content (int num_elements, enum tui_win_type type)
diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h
index d875eb7bbc9..7392a4e4133 100644
--- a/gdb/tui/tui-data.h
+++ b/gdb/tui/tui-data.h
@@ -531,7 +531,6 @@ extern struct tui_win_info *tui_win_list[MAX_MAJOR_WINDOWS];

/* Data Manipulation Functions. */
extern void tui_initialize_static_data (void);
-extern struct tui_win_info *tui_alloc_win_info (enum tui_win_type);
extern void tui_init_generic_part (struct tui_gen_win_info *);
extern tui_win_content tui_alloc_content (int, enum tui_win_type);
extern int tui_add_content_elements (struct tui_gen_win_info *,
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 6507b06dd39..6d343921d4c 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -798,10 +798,29 @@ init_and_make_win (tui_gen_win_info *win_info,
{
if (win_info == NULL)
{
- if (tui_win_is_auxillary (win_type))
- win_info = new tui_gen_win_info (win_type);
- else
- win_info = tui_alloc_win_info (win_type);
+ switch (win_type)
+ {
+ case SRC_WIN:
+ win_info = new tui_source_window ();
+ break;
+
+ case DISASSEM_WIN:
+ win_info = new tui_disasm_window ();
+ break;
+
+ case DATA_WIN:
+ win_info = new tui_data_window ();
+ break;
+
+ case CMD_WIN:
+ win_info = new tui_cmd_window ();
+ break;
+
+ default:
+ gdb_assert (tui_win_is_auxillary (win_type));
+ win_info = new tui_gen_win_info (win_type);
+ break;
+ }
}

win_info->reset (win_type, height, width, origin_x, origin_y);
--
2.17.2