From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 74121 invoked by alias); 17 Jul 2019 18:39:52 -0000 Mailing-List: contact gdb-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: , Sender: gdb-cvs-owner@sourceware.org List-Subscribe: Sender: gdb-cvs-owner@sourceware.org Received: (qmail 74103 invoked by uid 306); 17 Jul 2019 18:39:52 -0000 Date: Wed, 17 Jul 2019 18:39:00 -0000 Message-ID: <20190717183952.74102.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Change tui_set_layout to return void X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 4e1e56b9818109a39bb1b035fd50dd05a00699f2 X-Git-Newrev: b7fbad913e8874b9a887eb149b14975343bfb7ab X-SW-Source: 2019-07/txt/msg00123.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b7fbad913e8874b9a887eb149b14975343bfb7ab commit b7fbad913e8874b9a887eb149b14975343bfb7ab Author: Tom Tromey Date: Sun Jun 30 20:34:57 2019 -0600 Change tui_set_layout to return void tui_set_layout can't meaningfully be called with UNDEFINED_LAYOUT; and instead of trying to handle this case, simply assert and have the function return void. No caller was checking the return value anyway. gdb/ChangeLog 2019-07-17 Tom Tromey * tui/tui-layout.h (tui/tui-layout): Return void. * tui/tui-layout.c (tui_set_layout): Return void. Add assert. Diff: --- gdb/ChangeLog | 5 ++ gdb/tui/tui-layout.c | 167 ++++++++++++++++++++++++--------------------------- gdb/tui/tui-layout.h | 2 +- 3 files changed, 86 insertions(+), 88 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 643ff23..4dce3ac 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2019-07-17 Tom Tromey + * tui/tui-layout.h (tui/tui-layout): Return void. + * tui/tui-layout.c (tui_set_layout): Return void. Add assert. + +2019-07-17 Tom Tromey + * tui/tui-layout.c (show_source_disasm_command, show_data): Update. (reset_locator): Remove. diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index d15df2a..7feadd7 100644 --- a/gdb/tui/tui-layout.c +++ b/gdb/tui/tui-layout.c @@ -113,104 +113,97 @@ show_layout (enum tui_layout_type layout) /* Function to set the layout to SRC_COMMAND, DISASSEM_COMMAND, SRC_DISASSEM_COMMAND, SRC_DATA_COMMAND, or DISASSEM_DATA_COMMAND. */ -enum tui_status +void tui_set_layout (enum tui_layout_type layout_type) { - enum tui_status status = TUI_SUCCESS; + gdb_assert (layout_type != UNDEFINED_LAYOUT); - if (layout_type != UNDEFINED_LAYOUT) - { - enum tui_layout_type cur_layout = tui_current_layout (); - struct gdbarch *gdbarch; - CORE_ADDR addr; - struct tui_win_info *win_with_focus = tui_win_with_focus (); - struct tui_layout_def *layout_def = tui_layout_def (); + enum tui_layout_type cur_layout = tui_current_layout (); + struct gdbarch *gdbarch; + CORE_ADDR addr; + struct tui_win_info *win_with_focus = tui_win_with_focus (); + struct tui_layout_def *layout_def = tui_layout_def (); - extract_display_start_addr (&gdbarch, &addr); + extract_display_start_addr (&gdbarch, &addr); - enum tui_layout_type new_layout = layout_type; + enum tui_layout_type new_layout = layout_type; - if (new_layout != cur_layout) - { - show_layout (new_layout); + if (new_layout != cur_layout) + { + show_layout (new_layout); - /* Now determine where focus should be. */ - if (win_with_focus != TUI_CMD_WIN) + /* Now determine where focus should be. */ + if (win_with_focus != TUI_CMD_WIN) + { + switch (new_layout) { - switch (new_layout) - { - case SRC_COMMAND: - tui_set_win_focus_to (TUI_SRC_WIN); - layout_def->display_mode = SRC_WIN; - break; - case DISASSEM_COMMAND: - /* The previous layout was not showing code. - This can happen if there is no source - available: - - 1. if the source file is in another dir OR - 2. if target was compiled without -g - We still want to show the assembly though! */ - - tui_get_begin_asm_address (&gdbarch, &addr); - tui_set_win_focus_to (TUI_DISASM_WIN); - layout_def->display_mode = DISASSEM_WIN; - break; - case SRC_DISASSEM_COMMAND: - /* The previous layout was not showing code. - This can happen if there is no source - available: - - 1. if the source file is in another dir OR - 2. if target was compiled without -g - We still want to show the assembly though! */ - - tui_get_begin_asm_address (&gdbarch, &addr); - if (win_with_focus == TUI_SRC_WIN) - tui_set_win_focus_to (TUI_SRC_WIN); - else - tui_set_win_focus_to (TUI_DISASM_WIN); - break; - case SRC_DATA_COMMAND: - if (win_with_focus != TUI_DATA_WIN) - tui_set_win_focus_to (TUI_SRC_WIN); - else - tui_set_win_focus_to (TUI_DATA_WIN); - layout_def->display_mode = SRC_WIN; - break; - case DISASSEM_DATA_COMMAND: - /* The previous layout was not showing code. - This can happen if there is no source - available: - - 1. if the source file is in another dir OR - 2. if target was compiled without -g - We still want to show the assembly though! */ - - tui_get_begin_asm_address (&gdbarch, &addr); - if (win_with_focus != TUI_DATA_WIN) - tui_set_win_focus_to (TUI_DISASM_WIN); - else - tui_set_win_focus_to (TUI_DATA_WIN); - layout_def->display_mode = DISASSEM_WIN; - break; - default: - break; - } + case SRC_COMMAND: + tui_set_win_focus_to (TUI_SRC_WIN); + layout_def->display_mode = SRC_WIN; + break; + case DISASSEM_COMMAND: + /* The previous layout was not showing code. + This can happen if there is no source + available: + + 1. if the source file is in another dir OR + 2. if target was compiled without -g + We still want to show the assembly though! */ + + tui_get_begin_asm_address (&gdbarch, &addr); + tui_set_win_focus_to (TUI_DISASM_WIN); + layout_def->display_mode = DISASSEM_WIN; + break; + case SRC_DISASSEM_COMMAND: + /* The previous layout was not showing code. + This can happen if there is no source + available: + + 1. if the source file is in another dir OR + 2. if target was compiled without -g + We still want to show the assembly though! */ + + tui_get_begin_asm_address (&gdbarch, &addr); + if (win_with_focus == TUI_SRC_WIN) + tui_set_win_focus_to (TUI_SRC_WIN); + else + tui_set_win_focus_to (TUI_DISASM_WIN); + break; + case SRC_DATA_COMMAND: + if (win_with_focus != TUI_DATA_WIN) + tui_set_win_focus_to (TUI_SRC_WIN); + else + tui_set_win_focus_to (TUI_DATA_WIN); + layout_def->display_mode = SRC_WIN; + break; + case DISASSEM_DATA_COMMAND: + /* The previous layout was not showing code. + This can happen if there is no source + available: + + 1. if the source file is in another dir OR + 2. if target was compiled without -g + We still want to show the assembly though! */ + + tui_get_begin_asm_address (&gdbarch, &addr); + if (win_with_focus != TUI_DATA_WIN) + tui_set_win_focus_to (TUI_DISASM_WIN); + else + tui_set_win_focus_to (TUI_DATA_WIN); + layout_def->display_mode = DISASSEM_WIN; + break; + default: + break; } - /* - * Now update the window content. - */ - tui_update_source_windows_with_addr (gdbarch, addr); - if (new_layout == SRC_DATA_COMMAND - || new_layout == DISASSEM_DATA_COMMAND) - tui_show_registers (TUI_DATA_WIN->current_group); } + /* + * Now update the window content. + */ + tui_update_source_windows_with_addr (gdbarch, addr); + if (new_layout == SRC_DATA_COMMAND + || new_layout == DISASSEM_DATA_COMMAND) + tui_show_registers (TUI_DATA_WIN->current_group); } - else - status = TUI_FAILURE; - - return status; } /* Add the specified window to the layout in a logical way. This diff --git a/gdb/tui/tui-layout.h b/gdb/tui/tui-layout.h index bc21d29..5f19933 100644 --- a/gdb/tui/tui-layout.h +++ b/gdb/tui/tui-layout.h @@ -30,6 +30,6 @@ extern int tui_default_win_height (enum tui_win_type, enum tui_layout_type); extern int tui_default_win_viewport_height (enum tui_win_type, enum tui_layout_type); -extern enum tui_status tui_set_layout (enum tui_layout_type); +extern void tui_set_layout (enum tui_layout_type); #endif /* TUI_TUI_LAYOUT_H */