aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-05 20:14:43 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-05 18:14:43 +0000
commit5b042919f71728bc26a8921738bdb0a1b3c680f0 (patch)
treeea99901091c49ca89878c6f9cfe6a675e700791c
parentca361dec8f52c32553ce31f58acb414869b0b7a8 (diff)
downloadgcc-5b042919f71728bc26a8921738bdb0a1b3c680f0.zip
gcc-5b042919f71728bc26a8921738bdb0a1b3c680f0.tar.gz
gcc-5b042919f71728bc26a8921738bdb0a1b3c680f0.tar.bz2
lto-cgraph.c (lto_output_varpool_node, [...]): Correctly handle aliases.
* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly handle aliases. From-SVN: r159075
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lto-cgraph.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9f656df..1c961e7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-05-05 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
+ handle aliases.
+
2010-05-05 Eric Botcazou <ebotcazou@adacore.com>
* gimplify.c (gimplify_return_expr): Gimplify the size expressions of
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 2c67fcb..3e10954 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -472,9 +472,10 @@ lto_output_varpool_node (struct lto_simple_output_block *ob, struct varpool_node
bp_pack_value (bp, node->externally_visible, 1);
bp_pack_value (bp, node->force_output, 1);
bp_pack_value (bp, node->finalized, 1);
+ bp_pack_value (bp, node->alias, 1);
+ gcc_assert (!node->alias || !node->extra_name);
gcc_assert (node->finalized || !node->analyzed);
gcc_assert (node->needed);
- gcc_assert (!node->alias);
/* Constant pool initializers can be de-unified into individual ltrans units.
FIXME: Alternatively at -Os we may want to avoid generating for them the local
labels and share them across LTRANS partitions. */
@@ -867,6 +868,7 @@ input_varpool_node (struct lto_file_decl_data *file_data,
node->externally_visible = bp_unpack_value (bp, 1);
node->force_output = bp_unpack_value (bp, 1);
node->finalized = bp_unpack_value (bp, 1);
+ node->alias = bp_unpack_value (bp, 1);
node->analyzed = node->finalized;
node->used_from_other_partition = bp_unpack_value (bp, 1);
node->in_other_partition = bp_unpack_value (bp, 1);