From 45fea2b206122aca0608f25405057fe056a58aa4 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 25 Aug 2016 09:25:31 +0000 Subject: [PATCH] dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Only add locations in late dwarf. 2016-08-25 Richard Biener * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Only add locations in late dwarf. (gen_scheduled_generic_parms_dies): Do not set early dwarf here. (dwarf2out_early_finish): But do it here. From-SVN: r239753 --- gcc/ChangeLog | 7 +++++++ gcc/dwarf2out.c | 9 ++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef08c0a40fc..83824d76859 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-08-25 Richard Biener + + * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): + Only add locations in late dwarf. + (gen_scheduled_generic_parms_dies): Do not set early dwarf here. + (dwarf2out_early_finish): But do it here. + 2016-08-24 Michael Collison Michael Collison diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 98f08b7f65b..45eb684e2a2 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -24410,7 +24410,8 @@ gen_remaining_tmpl_value_param_die_attribute (void) if (!tree_add_const_value_attribute (e->die, e->arg)) { dw_loc_descr_ref loc = NULL; - if (dwarf_version >= 5 || !dwarf_strict) + if (! early_dwarf + && (dwarf_version >= 5 || !dwarf_strict)) loc = loc_descriptor_from_tree (e->arg, 2, NULL); if (loc) add_AT_loc (e->die, DW_AT_location, loc); @@ -24436,10 +24437,6 @@ gen_scheduled_generic_parms_dies (void) if (!generic_type_instances) return; - /* We end up "recursing" into schedule_generic_params_dies_gen, so - pretend this generation is part of "early dwarf" as well. */ - set_early_dwarf s; - FOR_EACH_VEC_ELT (*generic_type_instances, i, t) if (COMPLETE_TYPE_P (t)) gen_generic_params_dies (t); @@ -28137,6 +28134,8 @@ dwarf2out_finish (const char *filename) static void dwarf2out_early_finish (void) { + set_early_dwarf s; + /* Walk through the list of incomplete types again, trying once more to emit full debugging info for them. */ retry_incomplete_types (); -- 2.30.2