Make tui-winsource not use breakpoint_chain

That's an internal variable of breakpoint.c. Insted, use
iterate_over_breakpoints to update the breakpoint list.

gdb/ChangeLog:

2019-10-15  Christian Biesinger  <cbiesinger@google.com>

	* breakpoint.c (breakpoint_chain): Make static.
	* tui/tui-winsource.c: Call iterate_over_breakpoints instead
	of accessing breakpoint_chain.

Change-Id: Ic259b2c3a4c1f5a47f34cfd7fccbdcf274417429
This commit is contained in:
Christian Biesinger 2019-10-07 17:38:51 -05:00
parent 95da600f40
commit 81e6b8eb20
3 changed files with 11 additions and 8 deletions

View file

@ -1,3 +1,9 @@
2019-10-15 Christian Biesinger <cbiesinger@google.com>
* breakpoint.c (breakpoint_chain): Make static.
* tui/tui-winsource.c: Call iterate_over_breakpoints instead
of accessing breakpoint_chain.
2019-10-15 Christian Biesinger <cbiesinger@google.com> 2019-10-15 Christian Biesinger <cbiesinger@google.com>
* breakpoint.c (iterate_over_breakpoints): Change function pointer * breakpoint.c (iterate_over_breakpoints): Change function pointer

View file

@ -517,7 +517,7 @@ bool target_exact_watchpoints = false;
/* Chains of all breakpoints defined. */ /* 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. */ /* Array is sorted by bp_locations_compare - primarily by the ADDRESS. */

View file

@ -401,8 +401,6 @@ tui_source_window_base::update_breakpoint_info
for (i = 0; i < content.size (); i++) for (i = 0; i < content.size (); i++)
{ {
struct breakpoint *bp;
extern struct breakpoint *breakpoint_chain;
struct tui_source_element *line; struct tui_source_element *line;
line = &content[i]; line = &content[i];
@ -413,9 +411,7 @@ tui_source_window_base::update_breakpoint_info
do with it. Identify enable/disabled breakpoints as well as do with it. Identify enable/disabled breakpoints as well as
those that we already hit. */ those that we already hit. */
tui_bp_flags mode = 0; tui_bp_flags mode = 0;
for (bp = breakpoint_chain; iterate_over_breakpoints ([&] (breakpoint *bp) -> bool
bp != NULL;
bp = bp->next)
{ {
struct bp_location *loc; struct bp_location *loc;
@ -423,7 +419,7 @@ tui_source_window_base::update_breakpoint_info
|| line->line_or_addr.loa == LOA_ADDRESS); || line->line_or_addr.loa == LOA_ADDRESS);
if (bp == being_deleted) if (bp == being_deleted)
continue; return false;
for (loc = bp->loc; loc != NULL; loc = loc->next) for (loc = bp->loc; loc != NULL; loc = loc->next)
{ {
@ -441,7 +437,8 @@ tui_source_window_base::update_breakpoint_info
mode |= TUI_BP_HARDWARE; mode |= TUI_BP_HARDWARE;
} }
} }
} return false;
});
if (line->break_mode != mode) if (line->break_mode != mode)
{ {
line->break_mode = mode; line->break_mode = mode;