DWARF: handle non-local references in nested functions
[deliverable/binutils-gdb.git] / gdb / language.h
index 2265afcbfc20fae5c93b6db3266564356828b3a4..8b579a2198f51b05dbe49a09bd5ffcbadd4a923c 100644 (file)
@@ -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.
This page took 0.024457 seconds and 4 git commands to generate.