diff options
author | Richard Biener <rguenther@suse.de> | 2016-08-25 09:25:31 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-08-25 09:25:31 +0000 |
commit | 45fea2b206122aca0608f25405057fe056a58aa4 (patch) | |
tree | 0e5cdf2557f6b43e8e0760a96faa80053e09752e | |
parent | fe377a48b4c41b32bb00b5ac087d781a6b2b596f (diff) | |
download | gcc-45fea2b206122aca0608f25405057fe056a58aa4.zip gcc-45fea2b206122aca0608f25405057fe056a58aa4.tar.gz gcc-45fea2b206122aca0608f25405057fe056a58aa4.tar.bz2 |
dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Only add locations in late dwarf.
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.
From-SVN: r239753
-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 ef08c0a..83824d7 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 98f08b7..45eb684 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 (); |