aboutsummaryrefslogtreecommitdiff
path: root/gdb/ax-gdb.h
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>2010-03-17 22:04:43 +0000
committerStan Shebs <shebs@codesourcery.com>2010-03-17 22:04:43 +0000
commit400c6af0377b41453355299e9393a52263f4a834 (patch)
tree82355d6b37f45abf19392712a0c747cf989c4f6e /gdb/ax-gdb.h
parenta3b2a86bb7263eafa4f11a3b7cc0fb3adcfe1d39 (diff)
downloadgdb-400c6af0377b41453355299e9393a52263f4a834.zip
gdb-400c6af0377b41453355299e9393a52263f4a834.tar.gz
gdb-400c6af0377b41453355299e9393a52263f4a834.tar.bz2
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 a5f3768..4ec21e1 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 *);