From: Jan Hubicka Date: Mon, 14 Apr 2014 17:53:34 +0000 (+0200) Subject: re PR lto/60820 (ice in ctor_for_folding, at varpool.c:291) X-Git-Tag: releases/gcc-5.1.0~8129 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=006202e8c05177e883ff174d56834cafc43c8165;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 91bb92fedbe3..98e37104f622 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-04-14 Jan Hubicka + + PR lto/60820 + * varpool.c (varpool_remove_node): Do not alter decls when streaming. + 2014-04-14 Uros Bizjak * config/i386/i386.c (examine_argument): Return bool. Return true if diff --git a/gcc/varpool.c b/gcc/varpool.c index acb522100ea9..b5493ab5a846 100644 --- a/gcc/varpool.c +++ b/gcc/varpool.c @@ -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;