[binutils-gdb] gdb: use function_view for iterate_over_bp_locations' callback

Simon Marchi simark@sourceware.org
Fri Apr 23 02:01:47 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0406545d0668c0d2900654a8ec65bdaf23d157c9

commit 0406545d0668c0d2900654a8ec65bdaf23d157c9
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Apr 22 22:00:39 2021 -0400

    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

Diff:
---
 gdb/ChangeLog     | 8 ++++++++
 gdb/breakpoint.c  | 4 ++--
 gdb/breakpoint.h  | 5 ++---
 gdb/record-full.c | 2 +-
 4 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5d869dbfa7d..7e4b0bd95db 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index c2d0ffba974..a20464a1062 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -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);
     }
 }
 
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index ded498f5562..3447e25da20 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -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.  */
diff --git a/gdb/record-full.c b/gdb/record-full.c
index 23cbdcb58c4..8a035b2663e 100644
--- a/gdb/record-full.c
+++ b/gdb/record-full.c
@@ -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;


More information about the Gdb-cvs mailing list