mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 21:41:47 +08:00
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.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
2019-07-17 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* tui/tui-layout.c (show_source_disasm_command, show_data):
|
* tui/tui-layout.c (show_source_disasm_command, show_data):
|
||||||
|
@ -113,104 +113,97 @@ show_layout (enum tui_layout_type layout)
|
|||||||
|
|
||||||
/* Function to set the layout to SRC_COMMAND, DISASSEM_COMMAND,
|
/* Function to set the layout to SRC_COMMAND, DISASSEM_COMMAND,
|
||||||
SRC_DISASSEM_COMMAND, SRC_DATA_COMMAND, or DISASSEM_DATA_COMMAND. */
|
SRC_DISASSEM_COMMAND, SRC_DATA_COMMAND, or DISASSEM_DATA_COMMAND. */
|
||||||
enum tui_status
|
void
|
||||||
tui_set_layout (enum tui_layout_type layout_type)
|
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 ();
|
||||||
|
|
||||||
|
extract_display_start_addr (&gdbarch, &addr);
|
||||||
|
|
||||||
|
enum tui_layout_type new_layout = layout_type;
|
||||||
|
|
||||||
|
if (new_layout != cur_layout)
|
||||||
{
|
{
|
||||||
enum tui_layout_type cur_layout = tui_current_layout ();
|
show_layout (new_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);
|
/* Now determine where focus should be. */
|
||||||
|
if (win_with_focus != TUI_CMD_WIN)
|
||||||
enum tui_layout_type new_layout = layout_type;
|
|
||||||
|
|
||||||
if (new_layout != cur_layout)
|
|
||||||
{
|
{
|
||||||
show_layout (new_layout);
|
switch (new_layout)
|
||||||
|
|
||||||
/* Now determine where focus should be. */
|
|
||||||
if (win_with_focus != TUI_CMD_WIN)
|
|
||||||
{
|
{
|
||||||
switch (new_layout)
|
case SRC_COMMAND:
|
||||||
{
|
tui_set_win_focus_to (TUI_SRC_WIN);
|
||||||
case SRC_COMMAND:
|
layout_def->display_mode = SRC_WIN;
|
||||||
tui_set_win_focus_to (TUI_SRC_WIN);
|
break;
|
||||||
layout_def->display_mode = SRC_WIN;
|
case DISASSEM_COMMAND:
|
||||||
break;
|
/* The previous layout was not showing code.
|
||||||
case DISASSEM_COMMAND:
|
This can happen if there is no source
|
||||||
/* The previous layout was not showing code.
|
available:
|
||||||
This can happen if there is no source
|
|
||||||
available:
|
|
||||||
|
|
||||||
1. if the source file is in another dir OR
|
1. if the source file is in another dir OR
|
||||||
2. if target was compiled without -g
|
2. if target was compiled without -g
|
||||||
We still want to show the assembly though! */
|
We still want to show the assembly though! */
|
||||||
|
|
||||||
tui_get_begin_asm_address (&gdbarch, &addr);
|
tui_get_begin_asm_address (&gdbarch, &addr);
|
||||||
tui_set_win_focus_to (TUI_DISASM_WIN);
|
tui_set_win_focus_to (TUI_DISASM_WIN);
|
||||||
layout_def->display_mode = DISASSEM_WIN;
|
layout_def->display_mode = DISASSEM_WIN;
|
||||||
break;
|
break;
|
||||||
case SRC_DISASSEM_COMMAND:
|
case SRC_DISASSEM_COMMAND:
|
||||||
/* The previous layout was not showing code.
|
/* The previous layout was not showing code.
|
||||||
This can happen if there is no source
|
This can happen if there is no source
|
||||||
available:
|
available:
|
||||||
|
|
||||||
1. if the source file is in another dir OR
|
1. if the source file is in another dir OR
|
||||||
2. if target was compiled without -g
|
2. if target was compiled without -g
|
||||||
We still want to show the assembly though! */
|
We still want to show the assembly though! */
|
||||||
|
|
||||||
tui_get_begin_asm_address (&gdbarch, &addr);
|
tui_get_begin_asm_address (&gdbarch, &addr);
|
||||||
if (win_with_focus == TUI_SRC_WIN)
|
if (win_with_focus == TUI_SRC_WIN)
|
||||||
tui_set_win_focus_to (TUI_SRC_WIN);
|
tui_set_win_focus_to (TUI_SRC_WIN);
|
||||||
else
|
else
|
||||||
tui_set_win_focus_to (TUI_DISASM_WIN);
|
tui_set_win_focus_to (TUI_DISASM_WIN);
|
||||||
break;
|
break;
|
||||||
case SRC_DATA_COMMAND:
|
case SRC_DATA_COMMAND:
|
||||||
if (win_with_focus != TUI_DATA_WIN)
|
if (win_with_focus != TUI_DATA_WIN)
|
||||||
tui_set_win_focus_to (TUI_SRC_WIN);
|
tui_set_win_focus_to (TUI_SRC_WIN);
|
||||||
else
|
else
|
||||||
tui_set_win_focus_to (TUI_DATA_WIN);
|
tui_set_win_focus_to (TUI_DATA_WIN);
|
||||||
layout_def->display_mode = SRC_WIN;
|
layout_def->display_mode = SRC_WIN;
|
||||||
break;
|
break;
|
||||||
case DISASSEM_DATA_COMMAND:
|
case DISASSEM_DATA_COMMAND:
|
||||||
/* The previous layout was not showing code.
|
/* The previous layout was not showing code.
|
||||||
This can happen if there is no source
|
This can happen if there is no source
|
||||||
available:
|
available:
|
||||||
|
|
||||||
1. if the source file is in another dir OR
|
1. if the source file is in another dir OR
|
||||||
2. if target was compiled without -g
|
2. if target was compiled without -g
|
||||||
We still want to show the assembly though! */
|
We still want to show the assembly though! */
|
||||||
|
|
||||||
tui_get_begin_asm_address (&gdbarch, &addr);
|
tui_get_begin_asm_address (&gdbarch, &addr);
|
||||||
if (win_with_focus != TUI_DATA_WIN)
|
if (win_with_focus != TUI_DATA_WIN)
|
||||||
tui_set_win_focus_to (TUI_DISASM_WIN);
|
tui_set_win_focus_to (TUI_DISASM_WIN);
|
||||||
else
|
else
|
||||||
tui_set_win_focus_to (TUI_DATA_WIN);
|
tui_set_win_focus_to (TUI_DATA_WIN);
|
||||||
layout_def->display_mode = DISASSEM_WIN;
|
layout_def->display_mode = DISASSEM_WIN;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
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
|
/* Add the specified window to the layout in a logical way. This
|
||||||
|
@ -30,6 +30,6 @@ extern int tui_default_win_height (enum tui_win_type,
|
|||||||
enum tui_layout_type);
|
enum tui_layout_type);
|
||||||
extern int tui_default_win_viewport_height (enum tui_win_type,
|
extern int tui_default_win_viewport_height (enum tui_win_type,
|
||||||
enum tui_layout_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 */
|
#endif /* TUI_TUI_LAYOUT_H */
|
||||||
|
Reference in New Issue
Block a user