re PR lto/44812 (m32 lto produces non-relocatable subtraction expression errors)

PR lto/44812
	* lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
	on functions/variables in other partition.

From-SVN: r163811
This commit is contained in:
Jan Hubicka 2010-09-03 14:26:24 +02:00 committed by Jan Hubicka
parent 2cd8686617
commit 1c7b11d2a3
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2010-09-03 Jan Hubicka <jh@suse.cz>
PR lto/44812
* lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
on functions/variables in other partition.
2010-09-03 Jan Hubicka <jh@suse.cz>
* cgraph.h (struct varpool_node): Add const_value_known.

View File

@ -953,6 +953,11 @@ input_overwrite_node (struct lto_file_decl_data *file_data,
node->lowered = bp_unpack_value (bp, 1);
node->analyzed = tag == LTO_cgraph_analyzed_node;
node->in_other_partition = bp_unpack_value (bp, 1);
if (node->in_other_partition)
{
DECL_EXTERNAL (node->decl) = 1;
TREE_STATIC (node->decl) = 0;
}
node->alias = bp_unpack_value (bp, 1);
node->finalized_by_frontend = bp_unpack_value (bp, 1);
node->frequency = (enum node_frequency)bp_unpack_value (bp, 2);
@ -1111,6 +1116,11 @@ input_varpool_node (struct lto_file_decl_data *file_data,
node->analyzed = node->finalized;
node->used_from_other_partition = bp_unpack_value (&bp, 1);
node->in_other_partition = bp_unpack_value (&bp, 1);
if (node->in_other_partition)
{
DECL_EXTERNAL (node->decl) = 1;
TREE_STATIC (node->decl) = 0;
}
aliases_p = bp_unpack_value (&bp, 1);
if (node->finalized)
varpool_mark_needed_node (node);