aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-30 20:34:57 -0600
committerTom Tromey <tom@tromey.com>2019-07-17 12:19:15 -0600
commitb7fbad913e8874b9a887eb149b14975343bfb7ab (patch)
tree5676fa23001bad75258387dbdd1bc55119dff75a
parent4e1e56b9818109a39bb1b035fd50dd05a00699f2 (diff)
downloadgdb-b7fbad913e8874b9a887eb149b14975343bfb7ab.zip
gdb-b7fbad913e8874b9a887eb149b14975343bfb7ab.tar.gz
gdb-b7fbad913e8874b9a887eb149b14975343bfb7ab.tar.bz2
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 <tom@tromey.com> * tui/tui-layout.h (tui/tui-layout): Return void. * tui/tui-layout.c (tui_set_layout): Return void. Add assert.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/tui/tui-layout.c167
-rw-r--r--gdb/tui/tui-layout.h2
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 <tom@tromey.com>
+ * 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 <tom@tromey.com>
+
* 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 */