[review] Change tui_update_locator_fullname to take a symtab
Commit Message
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/630
......................................................................
Change tui_update_locator_fullname to take a symtab
This changes tui_update_locator_fullname to take a symtab. This
somewhat consolidates the "??" handling.
gdb/ChangeLog
2019-11-14 Tom Tromey <tom@tromey.com>
* tui/tui.c (tui_show_source): Update.
* tui/tui-winsource.c (tui_display_main): Update.
* tui/tui-stack.h (tui_update_locator_fullname): Change parameter
to symtab.
* tui/tui-stack.c (tui_update_locator_fullname): Change parameter
to symtab.
* tui/tui-disasm.c (tui_show_disassem_and_update_source): Update.
Change-Id: Ic61749517b44ac68561d829ff81f16976b830dec
---
M gdb/ChangeLog
M gdb/tui/tui-disasm.c
M gdb/tui/tui-stack.c
M gdb/tui/tui-stack.h
M gdb/tui/tui-winsource.c
M gdb/tui/tui.c
6 files changed, 21 insertions(+), 13 deletions(-)
@@ -1,3 +1,13 @@
+2019-11-14 Tom Tromey <tom@tromey.com>
+
+ * tui/tui.c (tui_show_source): Update.
+ * tui/tui-winsource.c (tui_display_main): Update.
+ * tui/tui-stack.h (tui_update_locator_fullname): Change parameter
+ to symtab.
+ * tui/tui-stack.c (tui_update_locator_fullname): Change parameter
+ to symtab.
+ * tui/tui-disasm.c (tui_show_disassem_and_update_source): Update.
+
2019-11-14 Tom Tromey <tromey@adacore.com>
* eval.c (evaluate_subexp_standard) <BINOP_ASSIGN>: Do not pass an
@@ -297,12 +297,8 @@
val.u.line_no = sal.line;
TUI_SRC_WIN->update_source_window (gdbarch, sal.symtab, val);
if (sal.symtab)
- {
- set_current_source_symtab_and_line (sal);
- tui_update_locator_fullname (symtab_to_fullname (sal.symtab));
- }
- else
- tui_update_locator_fullname ("?");
+ set_current_source_symtab_and_line (sal);
+ tui_update_locator_fullname (sal.symtab);
}
}
@@ -288,10 +288,15 @@
/* Update only the full_name portion of the locator. */
void
-tui_update_locator_fullname (const char *fullname)
+tui_update_locator_fullname (struct symtab *symtab)
{
struct tui_locator_window *locator = tui_locator_win_info_ptr ();
+ const char *fullname;
+ if (symtab != nullptr)
+ fullname = symtab_to_fullname (symtab);
+ else
+ fullname = "??";
locator->set_locator_fullname (fullname);
}
@@ -67,7 +67,7 @@
std::string make_status_line () const;
};
-extern void tui_update_locator_fullname (const char *);
+extern void tui_update_locator_fullname (struct symtab *symtab);
extern void tui_show_locator_content (void);
extern int tui_show_frame_info (struct frame_info *);
@@ -57,10 +57,7 @@
tui_update_source_windows_with_addr (gdbarch, addr);
s = find_pc_line_symtab (addr);
- if (s != NULL)
- tui_update_locator_fullname (symtab_to_fullname (s));
- else
- tui_update_locator_fullname ("??");
+ tui_update_locator_fullname (s);
}
}
}
@@ -634,7 +634,7 @@
tui_add_win_to_layout (SRC_WIN);
tui_update_source_windows_with_line (cursal.symtab, line);
- tui_update_locator_fullname (fullname);
+ tui_update_locator_fullname (cursal.symtab);
}
void