aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui/tui-winsource.h
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-07-05 17:32:19 -0600
committerTom Tromey <tom@tromey.com>2019-08-13 14:52:09 -0600
commit7b56485db5187e6c63f330e1eb35f63b50327b74 (patch)
treeb0220bd7ad148e7f02626ef539b970fdbc594b5e /gdb/tui/tui-winsource.h
parent7ba913dcdf2f94cbd501d763f0fc55a46d10331c (diff)
downloadgdb-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.h41
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. */