re PR bootstrap/48148 (LTO bootstrap failed with bootstrap-profiled)
authorJakub Jelinek <jakub@redhat.com>
Fri, 1 Apr 2011 21:14:36 +0000 (23:14 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 1 Apr 2011 21:14:36 +0000 (23:14 +0200)
PR bootstrap/48148
* dwarf2out.c (resolve_addr): Don't call force_decl_die
if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.

Revert:
2011-03-17  Richard Guenther  <rguenther@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.

From-SVN: r171856

gcc/ChangeLog
gcc/dwarf2out.c
gcc/lto-cgraph.c

index a1ee99ad0555221e270609c76f54399a2ae4a78b..ab0b3f53ab986ba7e2ff44dae1865b8e0af63579 100644 (file)
@@ -1,3 +1,17 @@
+2011-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/48148
+       * dwarf2out.c (resolve_addr): Don't call force_decl_die
+       if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
+
+       Revert:
+       2011-03-17  Richard Guenther  <rguenther@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.
+
 2011-04-01  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/48335
index b299bc7926ad880e870ada6faa079baf01f5803c..956e80544e619e29bd7b6a98e73586d44dfc6d39 100644 (file)
@@ -23044,7 +23044,9 @@ resolve_addr (dw_die_ref die)
          {
            tree tdecl = SYMBOL_REF_DECL (a->dw_attr_val.v.val_addr);
            dw_die_ref tdie = lookup_decl_die (tdecl);
-           if (tdie == NULL && DECL_EXTERNAL (tdecl))
+           if (tdie == NULL
+               && DECL_EXTERNAL (tdecl)
+               && DECL_ABSTRACT_ORIGIN (tdecl) == NULL_TREE)
              {
                force_decl_die (tdecl);
                tdie = lookup_decl_die (tdecl);
index 7c2582de7bebf794fd0e6462d8397bc43dd11547..8838947983c6a803319da48ef298390f4e151b76 100644 (file)
@@ -1,7 +1,7 @@
 /* Write and read the cgraph to the memory mapped representation of a
    .o file.
 
-   Copyright 2009, 2010 Free Software Foundation, Inc.
+   Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
    Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
 
 This file is part of GCC.
@@ -975,7 +975,6 @@ input_overwrite_node (struct lto_file_decl_data *file_data,
          || 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);
@@ -1147,7 +1146,6 @@ input_varpool_node (struct lto_file_decl_data *file_data,
   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);