> On May 30, 2011, Alexandre Oliva <aol...@redhat.com> wrote: > > > In an -O3 bootstrap, out.clauses are reported as uninitialized. GCC is > > not smart enough to realize accesses to the uninitialized members will > > never happen. It shouldn't be too expensive to initialize them all, so > > this is what this patch does. Regstrapped on x86_64-linux-gnu and > > i686-linux-gnu. Ok to install? > > Oops, I mistakenly checked this in along with a couple of other approved > patches, sorry. > > Should I back it out, or may I leave it in? (please :-) > > > for gcc/ChangeLog > > from Alexandre Oliva <aol...@redhat.com> > > > * ipa-inline-analysis.c (read_predicate): Initialize all clauses. > > > Index: gcc/ipa-inline-analysis.c > > =================================================================== > > --- gcc/ipa-inline-analysis.c.orig 2011-05-18 03:29:08.295328903 -0300 > > +++ gcc/ipa-inline-analysis.c 2011-05-18 03:29:38.187242177 -0300 > > @@ -2289,6 +2289,11 @@ read_predicate (struct lto_input_block * > > clause = out.clause[k++] = lto_input_uleb128 (ib); > > } > > while (clause); > > + > > + /* Zero-initialize the remaining clauses in OUT. */ > > + while (k <= MAX_CLAUSES) > > + out.clause[k++] = 0;
Well, clauses is a typical zero terminated array, so I really do think the warning is bogus. Do you at least know why we end up with that weird warning? Honza