[v3,2/2] Make tui-winsource not use breakpoint_chain
Commit Message
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(-)
@@ -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. */
@@ -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;
}