aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-08-25 09:25:31 +0000
committerRichard Biener <rguenther@suse.de>2016-08-25 09:25:31 +0000
commitb9a12184816341ff4b770044631c5f95b91353e7 (patch)
tree0e5cdf2557f6b43e8e0760a96faa80053e09752e
parent78187df73241faad55a601d88e61bc56f3e58e3d (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/ChangeLog7
-rw-r--r--gcc/dwarf2out.c9
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 ();