aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui/tui-disasm.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-20 20:16:07 -0600
committerTom Tromey <tom@tromey.com>2019-06-25 07:48:45 -0600
commit3add462fff33beb0e6f1480d3853eb56d664b438 (patch)
tree2a2d4b09984d99584af176d3da3dee6fc143ed5c /gdb/tui/tui-disasm.c
parent489e9d8b7bb3337a7f4f902a03c176c22faeabc7 (diff)
downloadgdb-3add462fff33beb0e6f1480d3853eb56d664b438.zip
gdb-3add462fff33beb0e6f1480d3853eb56d664b438.tar.gz
gdb-3add462fff33beb0e6f1480d3853eb56d664b438.tar.bz2
Separate out locator window
This introduces a new subclass of tui_gen_win_info for the locator, letting us remove another element from union tui_which_element. gdb/ChangeLog 2019-06-25 Tom Tromey <tom@tromey.com> * tui/tui-wingeneral.c (tui_refresh_all): Update. * tui/tui-win.c (tui_resize_all, tui_adjust_win_heights) (tui_source_window_base::set_new_height): Update. * tui/tui-stack.c (tui_make_status_line): Change parameter type. Update. (tui_set_locator_fullname, tui_set_locator_info) (tui_show_frame_info): Update. * tui/tui-source.c (tui_set_source_content) (tui_source_is_displayed): Update. * tui/tui-layout.c (show_source_disasm_command, show_data) (show_source_or_disasm_and_command): Update. * tui/tui-disasm.c (tui_set_disassem_content) (tui_get_begin_asm_address): Update. * tui/tui-data.h (struct tui_locator_element): Remove. (union tui_which_element) <locator>: Remove. (struct tui_locator_window): New. (tui_locator_win_info_ptr): Change return type. * tui/tui-data.c (_locator): Change type. (tui_locator_win_info_ptr): Change return type. (init_content_element): Remove LOCATOR_WIN case. Add assert. (tui_alloc_content): Add assert.
Diffstat (limited to 'gdb/tui/tui-disasm.c')
-rw-r--r--gdb/tui/tui-disasm.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c
index b3d39ea..6b88d96 100644
--- a/gdb/tui/tui-disasm.c
+++ b/gdb/tui/tui-disasm.c
@@ -169,7 +169,7 @@ tui_set_disassem_content (struct gdbarch *gdbarch, CORE_ADDR pc)
int offset = TUI_DISASM_WIN->horizontal_offset;
int max_lines, line_width;
CORE_ADDR cur_pc;
- struct tui_gen_win_info *locator = tui_locator_win_info_ptr ();
+ struct tui_locator_window *locator = tui_locator_win_info_ptr ();
int tab_len = tui_tab_width;
struct tui_asm_line *asm_lines;
int insn_pos;
@@ -185,7 +185,7 @@ tui_set_disassem_content (struct gdbarch *gdbarch, CORE_ADDR pc)
base->gdbarch = gdbarch;
base->start_line_or_addr.loa = LOA_ADDRESS;
base->start_line_or_addr.u.addr = pc;
- cur_pc = locator->content[0]->which_element.locator.addr;
+ cur_pc = locator->addr;
/* Window size, excluding highlight box. */
max_lines = TUI_DISASM_WIN->height - 2;
@@ -316,15 +316,13 @@ tui_show_disassem_and_update_source (struct gdbarch *gdbarch,
void
tui_get_begin_asm_address (struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)
{
- struct tui_gen_win_info *locator;
- struct tui_locator_element *element;
+ struct tui_locator_window *locator;
struct gdbarch *gdbarch = get_current_arch ();
CORE_ADDR addr;
locator = tui_locator_win_info_ptr ();
- element = &locator->content[0]->which_element.locator;
- if (element->addr == 0)
+ if (locator->addr == 0)
{
struct bound_minimal_symbol main_symbol;
@@ -342,8 +340,8 @@ tui_get_begin_asm_address (struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)
}
else /* The target is executing. */
{
- gdbarch = element->gdbarch;
- addr = element->addr;
+ gdbarch = locator->gdbarch;
+ addr = locator->addr;
}
*gdbarch_p = gdbarch;