aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-05-13 22:24:22 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-05-13 22:24:22 +0200
commit9e37582dfb2ec9e0bc9f0b5d76aa13cd142d6cf0 (patch)
tree91859c02e8db809f3fe22ce9b6cb8ecdbc91de79 /gcc/fold-const.c
parent23cb72663051cd3f5a8952d4aa2186d50243b7d0 (diff)
downloadgcc-9e37582dfb2ec9e0bc9f0b5d76aa13cd142d6cf0.zip
gcc-9e37582dfb2ec9e0bc9f0b5d76aa13cd142d6cf0.tar.gz
gcc-9e37582dfb2ec9e0bc9f0b5d76aa13cd142d6cf0.tar.bz2
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
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index c4346de..8a7c93e 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -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;