aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-04-01 23:14:36 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-04-01 23:14:36 +0200
commit15a03a11ceae0d0423ce6d762842f89a0c8feadd (patch)
tree79dbdd7286d65bf6f6f9d3995fe8ef43b657af16 /gcc
parent19228b93eacef5d8661c5d5a82272d42a82e0e26 (diff)
downloadgcc-15a03a11ceae0d0423ce6d762842f89a0c8feadd.zip
gcc-15a03a11ceae0d0423ce6d762842f89a0c8feadd.tar.gz
gcc-15a03a11ceae0d0423ce6d762842f89a0c8feadd.tar.bz2
re PR bootstrap/48148 (LTO bootstrap failed with bootstrap-profiled)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/dwarf2out.c4
-rw-r--r--gcc/lto-cgraph.c4
3 files changed, 18 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a1ee99a..ab0b3f5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,19 @@
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
* expr.c (expand_assignment): Handle all possibilities
if TO_RTX is CONCAT.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index b299bc7..956e805 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -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);
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 7c2582d..8838947 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -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);