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-12-20  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
This commit is contained in:
Tom Tromey 2019-11-12 16:28:40 -07:00
parent 364d710448
commit c1b167d76e
6 changed files with 21 additions and 13 deletions

View File

@ -1,3 +1,13 @@
2019-12-20 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-12-20 Tom Tromey <tom@tromey.com>
PR tui/23619:

View File

@ -297,12 +297,8 @@ tui_show_disassem_and_update_source (struct gdbarch *gdbarch,
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);
}
}

View File

@ -288,10 +288,15 @@ tui_locator_window::set_locator_info (struct gdbarch *gdbarch_in,
/* 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);
}

View File

@ -77,7 +77,7 @@ private:
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 *);

View File

@ -57,10 +57,7 @@ tui_display_main ()
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);
}
}
}

View File

@ -635,7 +635,7 @@ tui_show_source (const char *fullname, int line)
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