re PR rtl-optimization/14980 ([unit-at-a-time] complex_io.cc:69: error: Inlined_to...
authorJan Hubicka <jh@suse.cz>
Wed, 5 May 2004 20:55:02 +0000 (22:55 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 5 May 2004 20:55:02 +0000 (20:55 +0000)
PR opt/14980
* cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
inline clones.

From-SVN: r81540

gcc/ChangeLog
gcc/cgraphunit.c

index 975882bfe54a2f5c7d5177b6529569b265f1b136..44e58d7c24014c3780f189fe2087a1c7c6b53bb2 100644 (file)
@@ -1,3 +1,9 @@
+2004-05-05  Jan Hubicka  <jh@suse.cz>
+
+       PR opt/14980
+       * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
+       inline clones.
+
 2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/15290
index 156c924bca1c12f2da94b8b0a5c3de9c3d0882cb..e9402dbfb6e6828822ad484c3cfa66bdb37a4f8d 100644 (file)
@@ -889,7 +889,8 @@ cgraph_remove_unreachable_nodes (void)
       abort ();
 #endif
   for (node = cgraph_nodes; node; node = node->next)
-    if (node->needed && (!DECL_EXTERNAL (node->decl) || !node->analyzed))
+    if (node->needed && !node->global.inlined_to
+       && (!DECL_EXTERNAL (node->decl) || !node->analyzed))
       {
        node->aux = first;
        first = node;
@@ -932,6 +933,7 @@ cgraph_remove_unreachable_nodes (void)
          int local_insns;
          tree decl = node->decl;
 
+          node->global.inlined_to = NULL;
          if (DECL_STRUCT_FUNCTION (decl))
            local_insns = node->local.self_insns;
          else