diff options
Diffstat (limited to 'gdb/language.h')
-rw-r--r-- | gdb/language.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gdb/language.h b/gdb/language.h index 2265afc..8b579a2 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -241,13 +241,19 @@ struct language_defn void (*la_value_print) (struct value *, struct ui_file *, const struct value_print_options *); - /* Given a symbol VAR, and a stack frame id FRAME, read the value - of the variable an return (pointer to a) struct value containing - the value. + /* Given a symbol VAR, the corresponding block VAR_BLOCK (if any) and a + stack frame id FRAME, read the value of the variable and return (pointer + to a) struct value containing the value. + + VAR_BLOCK is needed if there's a possibility for VAR to be outside + FRAME. This is what happens if FRAME correspond to a nested function + and VAR is defined in the outer function. If callers know that VAR is + located in FRAME or is global/static, NULL can be passed as VAR_BLOCK. Throw an error if the variable cannot be found. */ struct value *(*la_read_var_value) (struct symbol *var, + const struct block *var_block, struct frame_info *frame); /* PC is possibly an unknown languages trampoline. |