diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b11442854f..1c5ef959a0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-06-22 Tom Tromey + + * dwarf2expr.c (execute_stack_op) : Treat type + argument of 0 specially. + 2011-06-22 Yao Qi * infrun.c (handle_inferior_event): Remove write-only local variable diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c index 23389b8b31..c5ea85da80 100644 --- a/gdb/dwarf2expr.c +++ b/gdb/dwarf2expr.c @@ -1229,7 +1229,10 @@ execute_stack_op (struct dwarf_expr_context *ctx, op_ptr = read_uleb128 (op_ptr, op_end, &type_die); - type = dwarf_get_base_type (ctx, type_die, 0); + if (type_die == 0) + type = address_type; + else + type = dwarf_get_base_type (ctx, type_die, 0); result_val = dwarf_expr_fetch (ctx, 0); dwarf_expr_pop (ctx);