dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Only add locations in...
authorRichard Biener <rguenther@suse.de>
Thu, 25 Aug 2016 09:25:31 +0000 (09:25 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 25 Aug 2016 09:25:31 +0000 (09:25 +0000)
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

gcc/ChangeLog
gcc/dwarf2out.c

index ef08c0a40fc7cb8db48505bfeac896d51954a4c1..83824d768595d23784035344fb651cc8f4c0ebd1 100644 (file)
@@ -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>
 
index 98f08b7f65ba83a3ad34ab7e39cd0e7989b97f8e..45eb684e2a279735525ed22d38ec722fce1d1551 100644 (file)
@@ -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 ();