diff options
author | Tom Tromey <tom@tromey.com> | 2022-03-03 20:25:32 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2022-03-06 10:50:42 -0700 |
commit | 13835d88dc51497b9bd68dc1f394ca0de099a380 (patch) | |
tree | 8eb0097fbf3bd76149d0fffef65f0924b3f32eef /gdb/stack.h | |
parent | abed5aa88ab304caa3a9e3b812f0dab06d44bdcf (diff) | |
download | binutils-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.h | 11 |
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 |