aboutsummaryrefslogtreecommitdiff
path: root/gdb/stack.h
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2022-03-03 20:25:32 -0700
committerTom Tromey <tom@tromey.com>2022-03-06 10:50:42 -0700
commit13835d88dc51497b9bd68dc1f394ca0de099a380 (patch)
tree8eb0097fbf3bd76149d0fffef65f0924b3f32eef /gdb/stack.h
parentabed5aa88ab304caa3a9e3b812f0dab06d44bdcf (diff)
downloadbinutils-13835d88dc51497b9bd68dc1f394ca0de099a380.zip
binutils-13835d88dc51497b9bd68dc1f394ca0de099a380.tar.gz
binutils-13835d88dc51497b9bd68dc1f394ca0de099a380.tar.bz2
Use function view when iterating over block symbols
This changes iterate_over_block_local_vars and iterate_over_block_arg_vars to take a gdb::function_view rather than a function pointer and a user-data. In one spot, this allows us to remove a helper structure and helper function. In another spot, this looked more complicated, so I changed the helper function to be an "operator()" -- also a simplification, just not as big.
Diffstat (limited to 'gdb/stack.h')
-rw-r--r--gdb/stack.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/gdb/stack.h b/gdb/stack.h
index 97cf30c..c49d2e2 100644
--- a/gdb/stack.h
+++ b/gdb/stack.h
@@ -30,17 +30,14 @@ gdb::unique_xmalloc_ptr<char> find_frame_funname (struct frame_info *frame,
enum language *funlang,
struct symbol **funcp);
-typedef void (*iterate_over_block_arg_local_vars_cb) (const char *print_name,
- struct symbol *sym,
- void *cb_data);
+typedef gdb::function_view<void (const char *print_name, struct symbol *sym)>
+ iterate_over_block_arg_local_vars_cb;
void iterate_over_block_arg_vars (const struct block *block,
- iterate_over_block_arg_local_vars_cb cb,
- void *cb_data);
+ iterate_over_block_arg_local_vars_cb cb);
void iterate_over_block_local_vars (const struct block *block,
- iterate_over_block_arg_local_vars_cb cb,
- void *cb_data);
+ iterate_over_block_arg_local_vars_cb cb);
/* Initialize *WHAT to be a copy of the user desired print what frame info.
If !WHAT.has_value (), the printing function chooses a default set of