diff options
author | Tom Tromey <tom@tromey.com> | 2019-07-05 17:32:19 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-08-13 14:52:09 -0600 |
commit | 7b56485db5187e6c63f330e1eb35f63b50327b74 (patch) | |
tree | b0220bd7ad148e7f02626ef539b970fdbc594b5e /gdb/tui/tui-winsource.h | |
parent | 7ba913dcdf2f94cbd501d763f0fc55a46d10331c (diff) | |
download | gdb-7b56485db5187e6c63f330e1eb35f63b50327b74.zip gdb-7b56485db5187e6c63f330e1eb35f63b50327b74.tar.gz gdb-7b56485db5187e6c63f330e1eb35f63b50327b74.tar.bz2 |
Move code to tui-winsource.h
This moves code related to the execution info window from tui-data.h
to tui-winsource.h. It fits better here because the execution info is
conceptually part of the source and disassembly windows, and
tui-winsource.h is where this common class lives.
gdb/ChangeLog
2019-08-13 Tom Tromey <tom@tromey.com>
* tui/tui-data.h (enum tui_bp_flag, tui_bp_flags, struct tui_source_element)
(TUI_BP_HIT_POS, TUI_BP_BREAK_POS, TUI_EXEC_POS)
(TUI_EXECINFO_SIZE, tui_exec_info_content): Move ...
* tui/tui-winsource.h (enum tui_bp_flag, tui_bp_flags, struct
tui_source_element, TUI_BP_HIT_POS, TUI_BP_BREAK_POS)
(TUI_EXEC_POS, TUI_EXECINFO_SIZE, tui_exec_info_content):
... here.
Diffstat (limited to 'gdb/tui/tui-winsource.h')
-rw-r--r-- | gdb/tui/tui-winsource.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gdb/tui/tui-winsource.h b/gdb/tui/tui-winsource.h index bce889d..71201e5 100644 --- a/gdb/tui/tui-winsource.h +++ b/gdb/tui/tui-winsource.h @@ -24,6 +24,26 @@ #include "tui/tui-data.h" +/* Flags to tell what kind of breakpoint is at current line. */ +enum tui_bp_flag +{ + TUI_BP_ENABLED = 0x01, + TUI_BP_DISABLED = 0x02, + TUI_BP_HIT = 0x04, + TUI_BP_CONDITIONAL = 0x08, + TUI_BP_HARDWARE = 0x10 +}; + +DEF_ENUM_FLAGS_TYPE (enum tui_bp_flag, tui_bp_flags); + +/* Position of breakpoint markers in the exec info string. */ +#define TUI_BP_HIT_POS 0 +#define TUI_BP_BREAK_POS 1 +#define TUI_EXEC_POS 2 +#define TUI_EXECINFO_SIZE 4 + +typedef char tui_exec_info_content[TUI_EXECINFO_SIZE]; + /* Execution info window class. */ struct tui_exec_info_window : public tui_gen_win_info @@ -52,6 +72,27 @@ private: tui_exec_info_content *m_content = nullptr; }; +/* Elements in the Source/Disassembly Window. */ +struct tui_source_element +{ + tui_source_element () + { + line_or_addr.loa = LOA_LINE; + line_or_addr.u.line_no = 0; + } + + ~tui_source_element () + { + xfree (line); + } + + char *line = nullptr; + struct tui_line_or_address line_or_addr; + bool is_exec_point = false; + tui_bp_flags break_mode = 0; +}; + + /* The base class for all source-like windows, namely the source and disassembly windows. */ |