summaryrefslogtreecommitdiff
path: root/gdb/ax-gdb.h
diff options
context:
space:
mode:
authorStan Shebs <shebs@apple.com>2010-03-17 22:04:43 +0000
committerStan Shebs <shebs@apple.com>2010-03-17 22:04:43 +0000
commit3a39aee4d5c907d507a005affc64760a70e555eb (patch)
tree641dc15628445808b51da0a97870014e8b75960b /gdb/ax-gdb.h
parent3ee1cd2497b44c9b334fd72e23ca1fbecee96ef2 (diff)
downloadgdb-3a39aee4d5c907d507a005affc64760a70e555eb.tar.gz
2010-03-17 Stan Shebs <stan@codesourcery.com>
* ax-gdb.h (struct axs_value): New field optimized_out. (gen_trace_for_var): Add gdbarch argument. * ax-gdb.c (gen_trace_static_fields): New function. (gen_traced_pop): Call it, add gdbarch argument. (gen_trace_for_expr): Update call to it. (gen_trace_for_var): Ditto, and report optimized-out variables. (gen_struct_ref_recursive): Check for optimized-out value. (gen_struct_elt_for_reference): Ditto. (gen_static_field): Pass gdbarch instead of expression, assume optimization if field not found. (gen_var_ref): Set the optimized_out flag. (gen_expr): Error on optimized-out variable. * tracepoint.c (collect_symbol): Handle struct-valued vars as expressions, skip optimized-out variables with computed locations. * dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of erroring out if location expression missing. (loclist_tracepoint_var_ref): Don't error out here.
Diffstat (limited to 'gdb/ax-gdb.h')
-rw-r--r--gdb/ax-gdb.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ax-gdb.h b/gdb/ax-gdb.h
index a5f3768e067..4ec21e1de88 100644
--- a/gdb/ax-gdb.h
+++ b/gdb/ax-gdb.h
@@ -81,6 +81,10 @@ struct axs_value
"pointer to" an object of this type. */
struct type *type;
+ /* If nonzero, this is a variable which does not actually exist in
+ the program. */
+ char optimized_out;
+
union
{
/* if kind == axs_lvalue_register, this is the register number */
@@ -99,7 +103,8 @@ struct axs_value
function to discover which registers the expression uses. */
extern struct agent_expr *gen_trace_for_expr (CORE_ADDR, struct expression *);
-extern struct agent_expr *gen_trace_for_var (CORE_ADDR, struct symbol *);
+extern struct agent_expr *gen_trace_for_var (CORE_ADDR, struct gdbarch *,
+ struct symbol *);
extern struct agent_expr *gen_eval_for_expr (CORE_ADDR, struct expression *);