diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-12-04 10:33:27 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-12-04 10:33:27 +0100 |
commit | 5cf9684138627fae7433f862e80aaf0ddc8e2425 (patch) | |
tree | 545e293fab8233f9deeb726eb8ac9e905134d7b5 /gcc/fold-const.c | |
parent | dc540ffd68645c9ce4e15d96a1967980ab9c2e2a (diff) | |
download | gcc-5cf9684138627fae7433f862e80aaf0ddc8e2425.zip gcc-5cf9684138627fae7433f862e80aaf0ddc8e2425.tar.gz gcc-5cf9684138627fae7433f862e80aaf0ddc8e2425.tar.bz2 |
re PR middle-end/38371 (Fold check error during bootstrap)
PR middle-end/38371
* fold-const.c (fold_checksum_tree): Allow modification of
TYPE_NEXT_VARIANT.
From-SVN: r142430
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r-- | gcc/fold-const.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 93415d8..41779e5 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -13364,9 +13364,11 @@ recursive_label: expr = (tree) &buf; } else if (TREE_CODE_CLASS (code) == tcc_type - && (TYPE_POINTER_TO (expr) || TYPE_REFERENCE_TO (expr) + && (TYPE_POINTER_TO (expr) + || TYPE_REFERENCE_TO (expr) || TYPE_CACHED_VALUES_P (expr) - || TYPE_CONTAINS_PLACEHOLDER_INTERNAL (expr))) + || TYPE_CONTAINS_PLACEHOLDER_INTERNAL (expr) + || TYPE_NEXT_VARIANT (expr))) { /* Allow these fields to be modified. */ tree tmp; @@ -13375,6 +13377,7 @@ recursive_label: TYPE_CONTAINS_PLACEHOLDER_INTERNAL (tmp) = 0; TYPE_POINTER_TO (tmp) = NULL; TYPE_REFERENCE_TO (tmp) = NULL; + TYPE_NEXT_VARIANT (tmp) = NULL; if (TYPE_CACHED_VALUES_P (tmp)) { TYPE_CACHED_VALUES_P (tmp) = 0; |