gdb: use function_view for iterate_over_bp_locations' callback

Use a function_view instead of function pointer + data.  Actually,
nothing uses the data anyway, but that makes iterate_over_bp_locations
more like iterate_over_breakpoints.

gdb/ChangeLog:

	* breakpoint.c (iterate_over_bp_locations): Change callback to
	function view, remove data parameter.
	* breakpoint.h (iterate_over_bp_locations): Likewise.
	* record-full.c (record_full_sync_record_breakpoints): Remove
	data parameter.

Change-Id: I66cdc94a505f67bc640bcc66865fb535ee939a57
This commit is contained in:
Simon Marchi 2021-04-22 22:00:39 -04:00
parent 19f6a43c6c
commit 0406545d06
4 changed files with 13 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2021-04-22 Simon Marchi <simon.marchi@polymtl.ca>
* breakpoint.c (iterate_over_bp_locations): Change callback to
function view, remove data parameter.
* breakpoint.h (iterate_over_bp_locations): Likewise.
* record-full.c (record_full_sync_record_breakpoints): Remove
data parameter.
2021-04-22 Tom Tromey <tom@tromey.com>
* c-typeprint.c (c_type_print_base_struct_union): Use

View File

@ -2943,13 +2943,13 @@ insert_breakpoints (void)
/* Invoke CALLBACK for each of bp_location. */
void
iterate_over_bp_locations (walk_bp_location_callback callback)
iterate_over_bp_locations (gdb::function_view<void (bp_location *)> callback)
{
struct bp_location *loc, **loc_tmp;
ALL_BP_LOCATIONS (loc, loc_tmp)
{
callback (loc, NULL);
callback (loc);
}
}

View File

@ -1304,9 +1304,8 @@ extern void breakpoint_init_inferior (enum inf_context);
extern void breakpoint_auto_delete (bpstat);
typedef void (*walk_bp_location_callback) (struct bp_location *, void *);
extern void iterate_over_bp_locations (walk_bp_location_callback);
extern void iterate_over_bp_locations
(gdb::function_view<void (bp_location *)> callback);
/* Return the chain of command lines to execute when this breakpoint
is hit. */

View File

@ -1720,7 +1720,7 @@ struct record_full_breakpoint
static std::vector<record_full_breakpoint> record_full_breakpoints;
static void
record_full_sync_record_breakpoints (struct bp_location *loc, void *data)
record_full_sync_record_breakpoints (struct bp_location *loc)
{
if (loc->loc_type != bp_loc_software_breakpoint)
return;