diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-05-13 22:24:22 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-05-13 22:24:22 +0200 |
commit | 9e37582dfb2ec9e0bc9f0b5d76aa13cd142d6cf0 (patch) | |
tree | 91859c02e8db809f3fe22ce9b6cb8ecdbc91de79 /gcc/fold-const.c | |
parent | 23cb72663051cd3f5a8952d4aa2186d50243b7d0 (diff) | |
download | gcc-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.c | 4 |
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; |