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
This commit is contained in:
Jakub Jelinek 2011-04-01 23:14:36 +02:00 committed by Jakub Jelinek
parent 19228b93ea
commit 15a03a11ce
3 changed files with 18 additions and 4 deletions

View 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

View 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);

View 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);