This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v3 2/2] Make tui-winsource not use breakpoint_chain
- From: cbiesinger at chromium dot org
- To: gdb-patches at sourceware dot org
- Cc: Christian Biesinger <cbiesinger at google dot com>
- Date: Wed, 9 Oct 2019 19:04:03 -0500
- Subject: [PATCH v3 2/2] Make tui-winsource not use breakpoint_chain
- References: <20191010000403.189265-1-cbiesinger@chromium.org>
From: Christian Biesinger <cbiesinger@google.com>
That's an internal variable of breakpoint.c. Insted, use
iterate_over_breakpoints to update the breakpoint list.
gdb/ChangeLog:
2019-10-09 Christian Biesinger <cbiesinger@google.com>
* breakpoint.c (breakpoint_chain): Make static.
* tui/tui-winsource.c: Call iterate_over_breakpoints instead
of accessing breakpoint_chain.
---
gdb/breakpoint.c | 2 +-
gdb/tui/tui-winsource.c | 12 +++++-------
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index e17cb69c3e6..f6d0d715015 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -521,7 +521,7 @@ bool target_exact_watchpoints = false;
/* Chains of all breakpoints defined. */
-struct breakpoint *breakpoint_chain;
+static struct breakpoint *breakpoint_chain;
/* Array is sorted by bp_locations_compare - primarily by the ADDRESS. */
diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c
index 683856de817..d70b7cd8e4c 100644
--- a/gdb/tui/tui-winsource.c
+++ b/gdb/tui/tui-winsource.c
@@ -401,8 +401,6 @@ tui_source_window_base::update_breakpoint_info
for (i = 0; i < content.size (); i++)
{
- struct breakpoint *bp;
- extern struct breakpoint *breakpoint_chain;
struct tui_source_element *line;
line = &content[i];
@@ -413,9 +411,7 @@ tui_source_window_base::update_breakpoint_info
do with it. Identify enable/disabled breakpoints as well as
those that we already hit. */
tui_bp_flags mode = 0;
- for (bp = breakpoint_chain;
- bp != NULL;
- bp = bp->next)
+ iterate_over_breakpoints ([&] (breakpoint *bp) -> bool
{
struct bp_location *loc;
@@ -423,7 +419,7 @@ tui_source_window_base::update_breakpoint_info
|| line->line_or_addr.loa == LOA_ADDRESS);
if (bp == being_deleted)
- continue;
+ return false;
for (loc = bp->loc; loc != NULL; loc = loc->next)
{
@@ -441,12 +437,14 @@ tui_source_window_base::update_breakpoint_info
mode |= TUI_BP_HARDWARE;
}
}
- }
+ return false;
+ });
if (line->break_mode != mode)
{
line->break_mode = mode;
need_refresh = true;
}
+ return false;
}
return need_refresh;
}
--
2.23.0.581.g78d2f28ef7-goog