diff options
author | Pedro Alves <palves@redhat.com> | 2010-04-01 11:24:01 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2010-04-01 11:24:01 +0000 |
commit | 2c58c0a9a5952b35ae2fe707bebb88ed36ab0b09 (patch) | |
tree | 9488120b78ed1306230525b6d59c751678f938ce /gdb/stack.h | |
parent | f2faa8006cc51cebefb638ea285b1202ebf2ee71 (diff) | |
download | gdb-2c58c0a9a5952b35ae2fe707bebb88ed36ab0b09.zip gdb-2c58c0a9a5952b35ae2fe707bebb88ed36ab0b09.tar.gz gdb-2c58c0a9a5952b35ae2fe707bebb88ed36ab0b09.tar.bz2 |
gdb/
* tracepoint.c: Include stack.h.
(struct add_local_symbols_data): New.
(do_collect_symbol): New.
(add_local_symbols): Rewrite using iterate_over_block_arg_vars and
iterate_over_block_local_vars.
* stack.c (print_block_frame_locals): Rewrite as ...
(iterate_over_block_locals): ... this. Take a callback function
pointer and generic data pointer, and call that instead of
print_variable_and_value.
(struct print_variable_and_value_data): New.
(do_print_variable_and_value): New.
(iterate_over_block_local_vars): New, abstracted out from
print_frame_local_vars.
(print_frame_local_vars): Rewrite using
iterate_over_block_local_vars.
(iterate_over_block_arg_vars): New, abstracted out from
print_frame_arg_vars.
(print_frame_arg_vars): Rewrite using iterate_over_block_arg_vars.
* stack.h (iterate_over_block_arg_local_vars_cb): New typedef.
(iterate_over_block_arg_vars, iterate_over_block_local_vars): Declare.
gdb/testsuite/
* gdb.trace/collection.c (local_test_func): Define a local struct,
and instanciate it.
Diffstat (limited to 'gdb/stack.h')
-rw-r--r-- | gdb/stack.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/stack.h b/gdb/stack.h index 618783d..5e874b4 100644 --- a/gdb/stack.h +++ b/gdb/stack.h @@ -27,4 +27,16 @@ void select_frame_command (char *level_exp, int from_tty); void find_frame_funname (struct frame_info *frame, char **funname, enum language *funlang); +typedef void (*iterate_over_block_arg_local_vars_cb) (const char *symbol_print_name, + struct symbol *sym, + void *cb_data); + +void iterate_over_block_arg_vars (struct block *block, + iterate_over_block_arg_local_vars_cb cb, + void *cb_data); + +void iterate_over_block_local_vars (struct block *block, + iterate_over_block_arg_local_vars_cb cb, + void *cb_data); + #endif /* #ifndef STACK_H */ |