re PR bootstrap/71071 (ICE --enable-checking=fold : fold check: original tree changed by fold)

PR bootstrap/71071
	* fold-const.c (fold_checksum_tree): Allow modification
	of TYPE_ALIAS_SET during folding.

	* gcc.dg/pr71071.c: New test.

From-SVN: r236222
This commit is contained in:
Jakub Jelinek 2016-05-13 22:24:22 +02:00 committed by Jakub Jelinek
parent 23cb726630
commit 9e37582dfb
4 changed files with 24 additions and 1 deletions

View File

@ -1,5 +1,9 @@
2016-05-13 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/71071
* fold-const.c (fold_checksum_tree): Allow modification
of TYPE_ALIAS_SET during folding.
* config/i386/i386.c (ix86_compute_frame_layout, ix86_expand_prologue,
ix86_expand_split_stack_prologue): Use HOST_WIDE_INT_C macro.
(ix86_split_to_parts): Likewise. Fix up formatting.

View File

@ -12130,7 +12130,8 @@ fold_checksum_tree (const_tree expr, struct md5_ctx *ctx,
|| TYPE_REFERENCE_TO (expr)
|| TYPE_CACHED_VALUES_P (expr)
|| TYPE_CONTAINS_PLACEHOLDER_INTERNAL (expr)
|| TYPE_NEXT_VARIANT (expr)))
|| TYPE_NEXT_VARIANT (expr)
|| TYPE_ALIAS_SET_KNOWN_P (expr)))
{
/* Allow these fields to be modified. */
tree tmp;
@ -12140,6 +12141,7 @@ fold_checksum_tree (const_tree expr, struct md5_ctx *ctx,
TYPE_POINTER_TO (tmp) = NULL;
TYPE_REFERENCE_TO (tmp) = NULL;
TYPE_NEXT_VARIANT (tmp) = NULL;
TYPE_ALIAS_SET (tmp) = -1;
if (TYPE_CACHED_VALUES_P (tmp))
{
TYPE_CACHED_VALUES_P (tmp) = 0;

View File

@ -1,3 +1,8 @@
2016-05-13 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/71071
* gcc.dg/pr71071.c: New test.
2016-05-13 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/vect/tree-vect.h (check_vect): Handle AVX2,

View File

@ -0,0 +1,12 @@
/* PR bootstrap/71071 */
/* { dg-do compile } *
/* { dg-options "-O2" } */
struct S { unsigned b : 1; } a;
void
foo ()
{
if (a.b)
;
}