[gdb/tui] Fix breakpoint display functionality
authorTom de Vries <tdevries@suse.de>
Thu, 21 Oct 2021 22:28:14 +0000 (00:28 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 21 Oct 2021 22:28:14 +0000 (00:28 +0200)
commitcfd85eb3ef8d1c823daaa00783c4244089587a3a
treec25b83cd0d27d1d3129d75dcd2fb058d1213a8c1
parent255f124ebfd0e1aeeb25add06eb95f2a1b98ecec
[gdb/tui] Fix breakpoint display functionality

In commit 81e6b8eb208 "Make tui-winsource not use breakpoint_chain", a loop
body was transformed into a lambda function body:
...
-      for (bp = breakpoint_chain;
-           bp != NULL;
-           bp = bp->next)
+      iterate_over_breakpoints ([&] (breakpoint *bp) -> bool
...
and consequently:
- a continue was replaced by a return, and
- a final return was added.

Then in commit 240edef62f0 "gdb: remove iterate_over_breakpoints function", we
transformed back to a loop body:
...
-      iterate_over_breakpoints ([&] (breakpoint *bp) -> bool
+      for (breakpoint *bp : all_breakpoints ())
...
but without reverting the changes that introduced the two returns.

Consequently, breakpoints no longer show up in the tui source window.

Fix this by reverting the changes that introduced the two returns.

Build on x86_64-linux, tested with all .exp test-cases that contain
tuiterm_env.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28483

gdb/ChangeLog:

2021-10-22  Tom de Vries  <tdevries@suse.de>

PR tui/28483
* tui/tui-winsource.c (tui_source_window_base::update_breakpoint_info):
Fix returns in loop body.

gdb/testsuite/ChangeLog:

2021-10-22  Tom de Vries  <tdevries@suse.de>

PR tui/28483
* gdb.tui/break.exp: New file.
gdb/ChangeLog
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.tui/break.exp [new file with mode: 0644]
gdb/tui/tui-winsource.c
This page took 0.023748 seconds and 4 git commands to generate.