gdb: add breakpoint::locations method

Add the breakpoint::locations method, which returns a range that can be
used to iterate over a breakpoint's locations.  This shortens

  for (bp_location *loc = b->loc; loc != nullptr; loc = loc->next)

into

  for (bp_location *loc : b->locations ())

Change all the places that I found that could use it.

gdb/ChangeLog:

	* breakpoint.h (bp_locations_range): New.
	(struct breakpoint) <locations>: New.  Use where possible.

Change-Id: I1ba2f7d93d57e544e1f8609124587dcf2e1da037
This commit is contained in:
Simon Marchi 2021-05-27 14:58:37 -04:00
parent f6d17b2b1c
commit 40cb8ca539
9 changed files with 83 additions and 101 deletions

View file

@ -11552,8 +11552,6 @@ static void
create_excep_cond_exprs (struct ada_catchpoint *c,
enum ada_exception_catchpoint_kind ex)
{
struct bp_location *bl;
/* Nothing to do if there's no specific exception to catch. */
if (c->excep_string.empty ())
return;
@ -11569,7 +11567,7 @@ create_excep_cond_exprs (struct ada_catchpoint *c,
/* Iterate over all the catchpoint's locations, and parse an
expression for each. */
for (bl = c->loc; bl != NULL; bl = bl->next)
for (bp_location *bl : c->locations ())
{
struct ada_catchpoint_location *ada_loc
= (struct ada_catchpoint_location *) bl;