re PR lto/60820 (ice in ctor_for_folding, at varpool.c:291)

PR lto/60820
	* varpool.c (varpool_remove_node): Do not alter decls when streaming.

From-SVN: r209389
This commit is contained in:
Jan Hubicka 2014-04-14 19:53:34 +02:00 committed by Jan Hubicka
parent e0a81db125
commit 006202e8c0
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2014-04-14 Jan Hubicka <hubicka@ucw.cz>
PR lto/60820
* varpool.c (varpool_remove_node): Do not alter decls when streaming.
2014-04-14 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (examine_argument): Return bool. Return true if

View File

@ -166,7 +166,9 @@ varpool_remove_node (varpool_node *node)
/* Because we remove references from external functions before final compilation,
we may end up removing useful constructors.
FIXME: We probably want to trace boundaries better. */
if ((init = ctor_for_folding (node->decl)) == error_mark_node)
if (cgraph_state == CGRAPH_LTO_STREAMING)
;
else if ((init = ctor_for_folding (node->decl)) == error_mark_node)
varpool_remove_initializer (node);
else
DECL_INITIAL (node->decl) = init;