diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 03af1e05b3..22695494e5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2007-10-26 Jim Blandy + + * ax-general.c (gen_traced_pop, gen_int_literal) + (gen_usual_arithmetic): Check for typedefs. + 2007-10-26 Joel Brobecker * parse.c (prefixify_expression): Minor reformatting. diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index 18b7e31c4d..27cc5b1ea3 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); } }