From: Richard Biener Date: Tue, 16 May 2017 10:58:54 +0000 (+0000) Subject: dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3a06a61019df358499293e98cea6997300005b73;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1ce36a7425f..a974a8d2ad1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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. + 2017-05-16 Matthew Wahab * config/arm/arm_neon.h (vadd_f16): Use standard arithmetic diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 98c51576ec2..87530eec714 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)