From fb54fa768d148ccd07f2b27ae26e87d95605986c Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 23 Jun 2019 16:34:39 -0600 Subject: [PATCH] Make tui_gen_win_info constructor protected Now that all the window types have their own concrete classes, the tui_gen_win_info constructor can be protected. gdb/ChangeLog 2019-06-25 Tom Tromey * tui/tui-layout.c (init_and_make_win): Assert on unrecognized type. * tui/tui-data.h (struct tui_gen_win_info): Make constructor protected. --- gdb/ChangeLog | 7 +++++++ gdb/tui/tui-data.h | 4 ++++ gdb/tui/tui-layout.c | 4 +--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 43ed9bca9fa..62e90533cac 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2019-06-25 Tom Tromey + + * tui/tui-layout.c (init_and_make_win): Assert on unrecognized + type. + * tui/tui-data.h (struct tui_gen_win_info): Make constructor + protected. + 2019-06-25 Tom Tromey * tui/tui-winsource.c diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h index b7cf05c7812..8991a4a5172 100644 --- a/gdb/tui/tui-data.h +++ b/gdb/tui/tui-data.h @@ -34,11 +34,15 @@ struct tui_point /* Generic window information. */ struct tui_gen_win_info { +protected: + explicit tui_gen_win_info (enum tui_win_type t) : type (t) { } +public: + virtual ~tui_gen_win_info (); /* Call to refresh this window. */ diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index 9dbb5995998..d9a1f08ac1f 100644 --- a/gdb/tui/tui-layout.c +++ b/gdb/tui/tui-layout.c @@ -815,9 +815,7 @@ init_and_make_win (tui_gen_win_info *win_info, break; default: - gdb_assert (tui_win_is_auxiliary (win_type)); - win_info = new tui_gen_win_info (win_type); - break; + gdb_assert_not_reached (_("unhandled window type")); } } -- 2.30.2