re PR tree-optimization/71239 (ICE in operand_equal_p (fold-const.c:2769))

Fix PR tree-optimization/71239.

	* g++.dg/pr71239.C: New test.
	PR tree-optimization/71239
	* tree.c (array_at_struct_end_p): Do not call operand_equal_p
	if DECL_SIZE is NULL.

From-SVN: r236696
This commit is contained in:
Martin Liska 2016-05-25 11:10:16 +02:00 committed by Martin Liska
parent 6ca8e33c66
commit 6aa1abe5f2
3 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2016-05-25 Martin Liska <mliska@suse.cz>
PR tree-optimization/71239
* tree.c (array_at_struct_end_p): Do not call operand_equal_p
if DECL_SIZE is NULL.
2016-05-25 Richard Biener <rguenther@suse.de>
* timevar.def (TV_TREE_LOOP_IFCVT): Add.

View File

@ -1,3 +1,7 @@
2016-05-25 Martin Liska <mliska@suse.cz>
* g++.dg/pr71239.C: New test.
2016-05-25 Richard Biener <rguenther@suse.de>
* gcc/testsuite/gcc.dg/vect/pr58135.c: Rename to ...

View File

@ -13097,7 +13097,8 @@ array_at_struct_end_p (tree ref)
is valid because BUF allocate enough space. */
&& (!size || operand_equal_p (DECL_SIZE (ref), size, 0))
&& (!size || (DECL_SIZE (ref) != NULL
&& operand_equal_p (DECL_SIZE (ref), size, 0)))
&& !(flag_unconstrained_commons
&& TREE_CODE (ref) == VAR_DECL && DECL_COMMON (ref)))
return false;