aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-07-10 02:14:55 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-07-10 00:14:55 +0000
commitb772114cb985547a70e51b8be4683017316028d6 (patch)
treed40473b46a1ad91e6d1fc47a48140a01cbc22bed /gcc
parent7e97ee1ae9d7cc479b11c022968d25536b19cfaa (diff)
downloadgcc-b772114cb985547a70e51b8be4683017316028d6.zip
gcc-b772114cb985547a70e51b8be4683017316028d6.tar.gz
gcc-b772114cb985547a70e51b8be4683017316028d6.tar.bz2
lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool nodes.
* lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool nodes. From-SVN: r162025
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lto-streamer-out.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index af20304..d860d2e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2010-07-09 Jan Hubicka <jh@suse.cz>
+ * lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool
+ nodes.
+
+2010-07-09 Jan Hubicka <jh@suse.cz>
+
* tree-inline.c (declare_return_variable): Fix ICE while
inlining DECL_BY_VALUE function not in SSA form
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 5ef7b12..db9ce4b 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -2399,6 +2399,8 @@ produce_symtab (struct output_block *ob,
for (i = 0; i < lto_cgraph_encoder_size (encoder); i++)
{
node = lto_cgraph_encoder_deref (encoder, i);
+ if (node->alias)
+ continue;
write_symbol (cache, &stream, node->decl, seen, false);
for (alias = node->same_body; alias; alias = alias->next)
write_symbol (cache, &stream, alias->decl, seen, true);
@@ -2408,6 +2410,8 @@ produce_symtab (struct output_block *ob,
for (i = 0; i < lto_varpool_encoder_size (varpool_encoder); i++)
{
vnode = lto_varpool_encoder_deref (varpool_encoder, i);
+ if (vnode->alias)
+ continue;
write_symbol (cache, &stream, vnode->decl, seen, false);
for (valias = vnode->extra_name; valias; valias = valias->next)
write_symbol (cache, &stream, valias->decl, seen, true);