From c38c4bc5b298545effe1f4afb31d53d66153f189 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 22 Jun 2011 13:38:21 +0000 Subject: [PATCH] * dwarf2expr.c (execute_stack_op) : Treat type argument of 0 specially. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2expr.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b114428..1c5ef95 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 23389b8..c5ea85d 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); -- 2.7.4