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 43ed9bc..62e9053 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 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 (tui_source_window_base::set_is_exec_point_at): Add check against LOA_ADDRESS. diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h index b7cf05c..8991a4a 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 9dbb599..d9a1f08 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.7.4