diff options
| author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-05 21:10:26 +0000 |
|---|---|---|
| committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-05 21:10:26 +0000 |
| commit | f3e8be3e41ade30e7b31aa6aba823d4ecab02168 (patch) | |
| tree | 2b741470b3934fa906d399594e5383a991d80b1a | |
| parent | 2e4b8bcd3189ca58920bf5ddcb27ff57acf004e9 (diff) | |
| download | ppe42-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/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/tree-sra.c | 6 |
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)) { |

