summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-05 21:10:26 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-05 21:10:26 +0000
commitf3e8be3e41ade30e7b31aa6aba823d4ecab02168 (patch)
tree2b741470b3934fa906d399594e5383a991d80b1a
parent2e4b8bcd3189ca58920bf5ddcb27ff57acf004e9 (diff)
downloadppe42-gcc-f3e8be3e41ade30e7b31aa6aba823d4ecab02168.tar.gz
ppe42-gcc-f3e8be3e41ade30e7b31aa6aba823d4ecab02168.zip
* tree-sra.c (try_instantiate_multiple_fields): Needlessly
initialize align to silence bogus warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123526 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-sra.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 330c180590a..4f5f8f5df4a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index a73f22d69fc..0f76bb5831d 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -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))
{
OpenPOWER on IntegriCloud