OSDN Git Service

* tree-sra.c (try_instantiate_multiple_fields): Needlessly
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Apr 2007 21:10:26 +0000 (21:10 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Apr 2007 21:10:26 +0000 (21:10 +0000)
initialize align to silence bogus warning.

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

gcc/ChangeLog
gcc/tree-sra.c

index 330c180..4f5f8f5 100644 (file)
@@ -1,5 +1,10 @@
 2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
 
+       * tree-sra.c (try_instantiate_multiple_fields): Needlessly
+       initialize align to silence bogus warning.
+
+2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+
        PR middle-end/22156
        * tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
        all_no_warning.
index a73f22d..0f76bb5 100644 (file)
@@ -1431,7 +1431,11 @@ try_instantiate_multiple_fields (struct sra_elt *elt, tree f)
     return f;
 
   /* Taking the alignment of elt->element is not enough, since it
-     might be just an array index or some such.  */
+     might be just an array index or some such.  We shouldn't need to
+     initialize align here, but our optimizers don't always realize
+     that, if we leave the loop without initializing align, we'll fail
+     the assertion right after the loop.  */
+  align = (unsigned HOST_WIDE_INT)-1;
   for (block = elt; block; block = block->parent)
     if (DECL_P (block->element))
       {