re PR lto/50430 (Constructors of static external vars are throwed away leading to missed optimizations (and ipa-cp ICE).)

PR lto/50430
	* gimple-fold.c (gimple_get_virt_method_for_binfo): Do not ICE on
	error_mark_node in the DECL_INITIAL of vtable.

From-SVN: r178908
This commit is contained in:
Jan Hubicka 2011-09-16 16:40:06 +02:00 committed by Jan Hubicka
parent 8549d9e16c
commit 5548ca3540
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2011-09-15 Jan Hubicka <jh@suse.cz>
PR lto/50430
* gimple-fold.c (gimple_get_virt_method_for_binfo): Do not ICE on
error_mark_node in the DECL_INITIAL of vtable.
2011-09-15 Diego Novillo <dnovillo@google.com>
* Makefile.in (SYSROOT_CFLAGS_FOR_TARGET): Define from

View File

@ -3048,7 +3048,8 @@ gimple_get_virt_method_for_binfo (HOST_WIDE_INT token, tree known_binfo)
if (TREE_CODE (v) != VAR_DECL
|| !DECL_VIRTUAL_P (v)
|| !DECL_INITIAL (v))
|| !DECL_INITIAL (v)
|| DECL_INITIAL (v) == error_mark_node)
return NULL_TREE;
gcc_checking_assert (TREE_CODE (TREE_TYPE (v)) == ARRAY_TYPE);
size = tree_low_cst (TYPE_SIZE (TREE_TYPE (TREE_TYPE (v))), 1);