diff options
author | Tom Tromey <tom@tromey.com> | 2019-06-20 20:16:07 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-06-25 07:48:45 -0600 |
commit | 3add462fff33beb0e6f1480d3853eb56d664b438 (patch) | |
tree | 2a2d4b09984d99584af176d3da3dee6fc143ed5c /gdb/tui/tui-disasm.c | |
parent | 489e9d8b7bb3337a7f4f902a03c176c22faeabc7 (diff) | |
download | gdb-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.c | 14 |
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; |