On Thu, Jan 15, 2015 at 12:10 PM, Jakub Jelinek <ja...@redhat.com> wrote: > Hi! > > I ran into -Werror=maybe-uninitialized errors during profiledbootstrap > (../configure --enable-languages=c,c++ --enable-checking=release; > make -j16 profiledboostrap) before I hit a miscompilation I'm going to file. > > Is this ok for trunk, or do we want to work around them differently?
I wonder if we can arrange profiledbootstrap to use --disable-werror unless --enable-werror is specified explicitely... Similarly useful if we could do a similar thing from non-standard build-configs... I also wonder if we shouldn't simply fix the uninit pass ... Richard. > 2015-01-14 Jakub Jelinek <ja...@redhat.com> > > * gengtype.c (create_user_defined_type): Workaround > -Wmaybe-uninitialized false positives. > * cse.c (fold_rtx): Likewise. > * loop-invariant.c (gain_for_invariant): Likewise. > > --- gcc/gengtype.c.jj 2015-01-14 17:46:50.000000000 +0100 > +++ gcc/gengtype.c 2015-01-14 18:15:19.285494736 +0100 > @@ -611,7 +611,7 @@ create_user_defined_type (const char *ty > comma-separated list of strings, implicitly assumed to > be type names, potentially with "*" characters. */ > char *arg = open_bracket + 1; > - char *next; > + char *next = NULL; > char *type_id = strtoken (arg, ",>", &next); > pair_p fields = 0; > while (type_id) > --- gcc/cse.c.jj 2015-01-14 17:49:01.000000000 +0100 > +++ gcc/cse.c 2015-01-14 19:02:40.638325329 +0100 > @@ -3093,8 +3093,8 @@ fold_rtx (rtx x, rtx_insn *insn) > int changed = 0; > > /* Operands of X. */ > - rtx folded_arg0; > - rtx folded_arg1; > + rtx folded_arg0 = NULL_RTX; > + rtx folded_arg1 = NULL_RTX; > > /* Constant equivalents of first three operands of X; > 0 when no such equivalent is known. */ > --- gcc/loop-invariant.c.jj 2015-01-14 17:50:10.000000000 +0100 > +++ gcc/loop-invariant.c 2015-01-14 21:13:23.780857707 +0100 > @@ -1268,7 +1268,7 @@ gain_for_invariant (struct invariant *in > bool speed, bool call_p) > { > int comp_cost, size_cost; > - enum reg_class cl; > + enum reg_class cl = NO_REGS; > int ret; > > actual_stamp++; > > Jakub