diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/ax-gdb.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 03af1e0..2269549 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2007-10-26 Jim Blandy <jimb@codesourcery.com> + + * ax-general.c (gen_traced_pop, gen_int_literal) + (gen_usual_arithmetic): Check for typedefs. + 2007-10-26 Joel Brobecker <brobecker@adacore.com> * parse.c (prefixify_expression): Minor reformatting. diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index 18b7e31..27cc5b1 100644 --- a/gdb/ax-gdb.c +++ b/gdb/ax-gdb.c @@ -319,7 +319,7 @@ gen_traced_pop (struct agent_expr *ax, struct axs_value *value) case axs_lvalue_memory: { - int length = TYPE_LENGTH (value->type); + int length = TYPE_LENGTH (check_typedef (value->type)); /* There's no point in trying to use a trace_quick bytecode here, since "trace_quick SIZE pop" is three bytes, whereas @@ -650,7 +650,7 @@ gen_int_literal (struct agent_expr *ax, struct axs_value *value, LONGEST k, { ax_const_l (ax, k); value->kind = axs_rvalue; - value->type = type; + value->type = check_typedef (type); } @@ -854,7 +854,7 @@ gen_usual_arithmetic (struct agent_expr *ax, struct axs_value *value1, ax_simple (ax, aop_swap); } - value1->type = value2->type = target; + value1->type = value2->type = check_typedef (target); } } |