From: Tom Tromey Date: Sat, 6 Jul 2019 17:32:06 +0000 (-0600) Subject: Move locator code to tui-stack.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f2dda4778417e2d58a5b0416ff9598f68470cbfa;p=binutils-gdb.git Move locator code to tui-stack.c The locator is mostly implemented in tui-stack.c. This moves the remaining bits to tui-stack.c and tui-stack.h, as appropriate. gdb/ChangeLog 2019-08-15 Tom Tromey * tui/tui-wingeneral.c: Include tui-stack.h. * tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN) (struct tui_locator_window): Move from tui-data.h. * tui/tui-stack.c (_locator, tui_locator_win_info_ptr) (tui_initialize_static_data): Move from tui-data.c. * tui/tui-data.h (MAX_LOCATOR_ELEMENT_LEN) (struct tui_locator_window): Move to tui-stack.c. * tui/tui-data.c (_locator, tui_locator_win_info_ptr) (tui_initialize_static_data): Move to tui-stack.c. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 49e01cee373..129d85d9030 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +2019-08-15 Tom Tromey + + * tui/tui-wingeneral.c: Include tui-stack.h. + * tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN) + (struct tui_locator_window): Move from tui-data.h. + * tui/tui-stack.c (_locator, tui_locator_win_info_ptr) + (tui_initialize_static_data): Move from tui-data.c. + * tui/tui-data.h (MAX_LOCATOR_ELEMENT_LEN) + (struct tui_locator_window): Move to tui-stack.c. + * tui/tui-data.c (_locator, tui_locator_win_info_ptr) + (tui_initialize_static_data): Move to tui-stack.c. + 2019-08-15 Tom Tromey * tui/tui-layout.c (show_source_disasm_command) diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c index add1f33926f..c308237d187 100644 --- a/gdb/tui/tui-data.c +++ b/gdb/tui/tui-data.c @@ -36,7 +36,6 @@ struct tui_win_info *tui_win_list[MAX_MAJOR_WINDOWS]; ** Private data ****************************/ static int term_height, term_width; -static struct tui_locator_window _locator; static std::vector source_windows; static struct tui_win_info *win_with_focus = NULL; @@ -128,15 +127,6 @@ tui_add_to_source_windows (struct tui_source_window_base *win_info) source_windows.push_back (win_info); } -/* Accessor for the locator win info. Answers a pointer to the static - locator win info struct. */ -struct tui_locator_window * -tui_locator_win_info_ptr (void) -{ - return &_locator; -} - - /* Accessor for the term_height. */ int tui_term_height (void) @@ -253,21 +243,6 @@ tui_partial_win_by_name (const char *name) return NULL; } - -void -tui_initialize_static_data () -{ - tui_gen_win_info *win = tui_locator_win_info_ptr (); - win->width = - win->height = - win->origin.x = - win->origin.y = - win->viewport_height = 0; - win->handle = NULL; - win->is_visible = false; - win->title = 0; -} - /* See tui-data.h. */ void diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h index 017e7a40f52..b5eeecdee97 100644 --- a/gdb/tui/tui-data.h +++ b/gdb/tui/tui-data.h @@ -148,31 +148,6 @@ struct tui_line_or_address } u; }; -#ifdef PATH_MAX -# define MAX_LOCATOR_ELEMENT_LEN PATH_MAX -#else -# define MAX_LOCATOR_ELEMENT_LEN 1024 -#endif - -/* Locator window class. */ - -struct tui_locator_window : public tui_gen_win_info -{ - tui_locator_window () - : tui_gen_win_info (LOCATOR_WIN) - { - full_name[0] = 0; - proc_name[0] = 0; - } - - char full_name[MAX_LOCATOR_ELEMENT_LEN]; - char proc_name[MAX_LOCATOR_ELEMENT_LEN]; - int line_no = 0; - CORE_ADDR addr = 0; - /* Architecture associated with code at this location. */ - struct gdbarch *gdbarch = nullptr; -}; - /* This defines information about each logical window. */ struct tui_win_info : public tui_gen_win_info { diff --git a/gdb/tui/tui-stack.c b/gdb/tui/tui-stack.c index 0a712231fa5..c67ac1ba549 100644 --- a/gdb/tui/tui-stack.c +++ b/gdb/tui/tui-stack.c @@ -39,6 +39,8 @@ #include "gdb_curses.h" +static struct tui_locator_window _locator; + /* Get a printable name for the function at the address. The symbol name is demangled if demangling is turned on. Returns a pointer to a static area holding the result. */ @@ -56,6 +58,29 @@ static int tui_set_locator_info (struct gdbarch *gdbarch, static void tui_update_command (const char *, int); +/* Accessor for the locator win info. Answers a pointer to the static + locator win info struct. */ +struct tui_locator_window * +tui_locator_win_info_ptr (void) +{ + return &_locator; +} + +void +tui_initialize_static_data () +{ + tui_gen_win_info *win = tui_locator_win_info_ptr (); + win->width = + win->height = + win->origin.x = + win->origin.y = + win->viewport_height = 0; + win->handle = NULL; + win->is_visible = false; + win->title = 0; +} + + /* Create the status line to display as much information as we can on this single line: target name, process number, current function, current line, current PC, SingleKey mode. */ diff --git a/gdb/tui/tui-stack.h b/gdb/tui/tui-stack.h index 0a88f49932e..51c976b2f56 100644 --- a/gdb/tui/tui-stack.h +++ b/gdb/tui/tui-stack.h @@ -22,8 +22,35 @@ #ifndef TUI_TUI_STACK_H #define TUI_TUI_STACK_H +#include "tui/tui-data.h" + struct frame_info; +#ifdef PATH_MAX +# define MAX_LOCATOR_ELEMENT_LEN PATH_MAX +#else +# define MAX_LOCATOR_ELEMENT_LEN 1024 +#endif + +/* Locator window class. */ + +struct tui_locator_window : public tui_gen_win_info +{ + tui_locator_window () + : tui_gen_win_info (LOCATOR_WIN) + { + full_name[0] = 0; + proc_name[0] = 0; + } + + char full_name[MAX_LOCATOR_ELEMENT_LEN]; + char proc_name[MAX_LOCATOR_ELEMENT_LEN]; + int line_no = 0; + CORE_ADDR addr = 0; + /* Architecture associated with code at this location. */ + struct gdbarch *gdbarch = nullptr; +}; + extern void tui_update_locator_fullname (const char *); extern void tui_show_locator_content (void); extern int tui_show_frame_info (struct frame_info *); diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c index e2d06bcebad..52583cfb8ac 100644 --- a/gdb/tui/tui-wingeneral.c +++ b/gdb/tui/tui-wingeneral.c @@ -24,6 +24,7 @@ #include "tui/tui-data.h" #include "tui/tui-wingeneral.h" #include "tui/tui-win.h" +#include "tui/tui-stack.h" #include "gdb_curses.h"