diff options
author | Richard Biener <rguenther@suse.de> | 2016-08-25 09:25:31 +0000 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2016-08-25 09:25:31 +0000 |
commit | b9a12184816341ff4b770044631c5f95b91353e7 (patch) | |
tree | 0e5cdf2557f6b43e8e0760a96faa80053e09752e | |
parent | 78187df73241faad55a601d88e61bc56f3e58e3d (diff) |
2016-08-25 Richard Biener <rguenther@suse.de>
* 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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@239753 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | 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 <rguenther@suse.de> + + * 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@linaro.org> Michael Collison <michael.collison@arm.com> 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 (); |