From 3a06a61019df358499293e98cea6997300005b73 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 16 May 2017 10:58:54 +0000 Subject: dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated. 2017-05-16 Richard Biener * dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated. (note_variable_value_in_expr): If we resolved the decl ref do not push to the stack. From-SVN: r248093 --- gcc/dwarf2out.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc/dwarf2out.c') diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 98c5157..87530ee 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -30109,8 +30109,9 @@ resolve_variable_value_in_expr (dw_attr_node *a, dw_loc_descr_ref loc) break; } /* Create DW_TAG_variable that we can refer to. */ - ref = gen_decl_die (decl, NULL_TREE, NULL, - lookup_decl_die (current_function_decl)); + gen_decl_die (decl, NULL_TREE, NULL, + lookup_decl_die (current_function_decl)); + ref = lookup_decl_die (decl); if (ref) { loc->dw_loc_oprnd1.val_class = dw_val_class_die_ref; @@ -30203,6 +30204,7 @@ note_variable_value_in_expr (dw_die_ref die, dw_loc_descr_ref loc) loc->dw_loc_oprnd1.val_class = dw_val_class_die_ref; loc->dw_loc_oprnd1.v.val_die_ref.die = ref; loc->dw_loc_oprnd1.v.val_die_ref.external = 0; + continue; } if (VAR_P (decl) && DECL_CONTEXT (decl) -- cgit v1.1