OSDN Git Service

PR middle-end/38371
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Dec 2008 09:33:27 +0000 (09:33 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Dec 2008 09:33:27 +0000 (09:33 +0000)
* fold-const.c (fold_checksum_tree): Allow modification of
TYPE_NEXT_VARIANT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142430 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/fold-const.c

index 29104d8..a8aba92 100644 (file)
@@ -1,3 +1,9 @@
+2008-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/38371
+       * fold-const.c (fold_checksum_tree): Allow modification of
+       TYPE_NEXT_VARIANT.
+
 2008-12-03  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/38360
 2008-12-03  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/38360
index 93415d8..41779e5 100644 (file)
@@ -13364,9 +13364,11 @@ recursive_label:
       expr = (tree) &buf;
     }
   else if (TREE_CODE_CLASS (code) == tcc_type
       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_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;
     {
       /* 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_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;
       if (TYPE_CACHED_VALUES_P (tmp))
        {
          TYPE_CACHED_VALUES_P (tmp) = 0;