This fixes PR48148, we shouldn't keep abstract origin references
for external decls.

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.

Richard.

2011-03-17  Richard Guenther  <rguent...@suse.de>

        PR bootstrap/48148
        * lto-cgraph.c (input_overwrite_node): Clear the abstract
        origin for decls in other ltrans units.
        (input_varpool_node): Likewise.

Index: gcc/lto-cgraph.c
===================================================================
--- gcc/lto-cgraph.c    (revision 171091)
+++ gcc/lto-cgraph.c    (working copy)
@@ -975,6 +975,7 @@ input_overwrite_node (struct lto_file_de
          || node->clone_of->decl != node->decl))
     {
       DECL_EXTERNAL (node->decl) = 1;
+      DECL_ABSTRACT_ORIGIN (node->decl) = NULL_TREE;
       TREE_STATIC (node->decl) = 0;
     }
   node->alias = bp_unpack_value (bp, 1);
@@ -1146,6 +1147,7 @@ input_varpool_node (struct lto_file_decl
   if (node->in_other_partition)
     {
       DECL_EXTERNAL (node->decl) = 1;
+      DECL_ABSTRACT_ORIGIN (node->decl) = NULL_TREE;
       TREE_STATIC (node->decl) = 0;
     }
   aliases_p = bp_unpack_value (&bp, 1);

Reply via email to