diff options
author | Tom Tromey <tromey@redhat.com> | 2013-03-20 18:35:22 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-03-20 18:35:22 +0000 |
commit | 24d6c2a0bb797940d1f6f16ce8be8c80b1eab4db (patch) | |
tree | 42cd80a9c77a045aac4d4682a264effba7e5a358 /gdb/ax-gdb.c | |
parent | f1e6e0721c5115e2e6c60359c9afbdfe927f0431 (diff) | |
download | gdb-24d6c2a0bb797940d1f6f16ce8be8c80b1eab4db.zip gdb-24d6c2a0bb797940d1f6f16ce8be8c80b1eab4db.tar.gz gdb-24d6c2a0bb797940d1f6f16ce8be8c80b1eab4db.tar.bz2 |
* ax-gdb.c (gen_var_ref): Unconditionally call via computed ops,
if possible.
* dwarf2read.c (read_func_scope): Remove old FIXME.
* eval.c (evaluate_subexp_standard): Check SYMBOL_COMPUTED_OPS,
not LOC_COMPUTED.
* findvar.c (symbol_read_needs_frame, default_read_var_value):
Unconditionally call via computed ops, if possible.
* printcmd.c (address_info): Unconditionally call via computed ops,
if possible.
* stack.c (read_frame_arg): Unconditionally call via computed ops,
if possible.
* symtab.c (register_symbol_computed_impl): Sanity check 'ops'.
* tracepoint.c (scope_info): Unconditionally call via computed ops,
if possible.
Diffstat (limited to 'gdb/ax-gdb.c')
-rw-r--r-- | gdb/ax-gdb.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index 93c87e7..25179ad 100644 --- a/gdb/ax-gdb.c +++ b/gdb/ax-gdb.c @@ -662,6 +662,12 @@ gen_var_ref (struct gdbarch *gdbarch, struct agent_expr *ax, value->type = check_typedef (SYMBOL_TYPE (var)); value->optimized_out = 0; + if (SYMBOL_COMPUTED_OPS (var) != NULL) + { + SYMBOL_COMPUTED_OPS (var)->tracepoint_var_ref (var, gdbarch, ax, value); + return; + } + /* I'm imitating the code in read_var_value. */ switch (SYMBOL_CLASS (var)) { @@ -750,13 +756,7 @@ gen_var_ref (struct gdbarch *gdbarch, struct agent_expr *ax, break; case LOC_COMPUTED: - /* FIXME: cagney/2004-01-26: It should be possible to - unconditionally call the SYMBOL_COMPUTED_OPS method when available. - Unfortunately DWARF 2 stores the frame-base (instead of the - function) location in a function's symbol. Oops! For the - moment enable this when/where applicable. */ - SYMBOL_COMPUTED_OPS (var)->tracepoint_var_ref (var, gdbarch, ax, value); - break; + gdb_assert_not_reached (_("LOC_COMPUTED variable missing a method")); case LOC_OPTIMIZED_OUT: /* Flag this, but don't say anything; leave it up to callers to |