dwarf2out.c (gen_formal_parameter_die): Remove obsolete hunk.
authorRichard Biener <rguenther@suse.de>
Sat, 9 Sep 2017 14:04:58 +0000 (14:04 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Sat, 9 Sep 2017 14:04:58 +0000 (10:04 -0400)
* dwarf2out.c (gen_formal_parameter_die): Remove obsolete hunk.

Check ultimate_origin before setting reusing_die.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r251938

gcc/ChangeLog
gcc/dwarf2out.c

index b9b04565d287bcf114645f9e440eadf2800a0e5d..01d42519cc168524f352a96730ca6b133161f50c 100644 (file)
@@ -1,3 +1,9 @@
+2017-09-09  Richard Biener  <rguenther@suse.de>
+           Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (gen_formal_parameter_die): Remove obsolete hunk.
+       Check ultimate_origin before setting reusing_die.
+
 2017-09-08  Jason Merrill  <jason@redhat.com>
 
        PR c++/70029 - ICE with ref-qualifier and -flto
index 651dd0c78729bee119f85a85484249f8b50745b3..cc93db37e23d78c2ae2ee9118535de6df00ab1b2 100644 (file)
@@ -21285,30 +21285,15 @@ gen_formal_parameter_die (tree node, tree origin, bool emit_name_p,
                          dw_die_ref context_die)
 {
   tree node_or_origin = node ? node : origin;
-  tree ultimate_origin;
   dw_die_ref parm_die = NULL;
   
-  if (TREE_CODE_CLASS (TREE_CODE (node_or_origin)) == tcc_declaration)
+  if (DECL_P (node_or_origin))
     {
       parm_die = lookup_decl_die (node);
 
-      /* If the contexts differ, we may not be talking about the same
-        thing.
-        ???  When in LTO the DIE parent is the "abstract" copy and the
-        context_die is the specification "copy".  But this whole block
-        should eventually be no longer needed.  */
-      if (parm_die && parm_die->die_parent != context_die && !in_lto_p)
-       {
-         if (!DECL_ABSTRACT_P (node))
-           {
-             /* This can happen when creating an inlined instance, in
-                which case we need to create a new DIE that will get
-                annotated with DW_AT_abstract_origin.  */
-             parm_die = NULL;
-           }
-         else
-           gcc_unreachable ();
-       }
+      tree ultimate_origin = decl_ultimate_origin (node_or_origin);
+      if (node || ultimate_origin)
+       origin = ultimate_origin;
 
       if (parm_die && parm_die->die_parent == NULL)
        {
@@ -21343,10 +21328,6 @@ gen_formal_parameter_die (tree node, tree origin, bool emit_name_p,
   switch (TREE_CODE_CLASS (TREE_CODE (node_or_origin)))
     {
     case tcc_declaration:
-      ultimate_origin = decl_ultimate_origin (node_or_origin);
-      if (node || ultimate_origin)
-       origin = ultimate_origin;
-
       if (reusing_die)
        goto add_location;