On Wed, Nov 23, 2016 at 11:06:23AM +0100, Martin Liška wrote: > I see broken bootstrap due to: > > .././../gcc/config/i386/i386.c: In function ‘rtx_def* > ix86_expand_builtin(tree, rtx, rtx, machine_mode, int)’: > .././../gcc/config/i386/i386.c:38407:18: error: ‘fcn’ may be used > uninitialized in this function [-Werror=maybe-uninitialized] > emit_insn (fcn (target, accum, wide_reg, mem)); > ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Thus I'm suggesting to initialize the variable (and 2 which are used in a > very similar manner) to NULL. > > Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
That is not very relevant for i386.c change, is it? > 2016-11-22 Martin Liska <mli...@suse.cz> > > * config/i386/i386.c: Initialize function pointers to NULL. > --- > gcc/config/i386/i386.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c > index 25f0446..a373fcf 100644 > --- a/gcc/config/i386/i386.c > +++ b/gcc/config/i386/i386.c > @@ -38218,9 +38218,9 @@ rdseed_step: > && fcode <= IX86_BUILTIN__BDESC_ARGS2_LAST) > { > i = fcode - IX86_BUILTIN__BDESC_ARGS2_FIRST; > - rtx (*fcn) (rtx, rtx, rtx, rtx); > - rtx (*fcn_mask) (rtx, rtx, rtx, rtx, rtx); > - rtx (*fcn_maskz) (rtx, rtx, rtx, rtx, rtx, rtx); > + rtx (*fcn) (rtx, rtx, rtx, rtx) = NULL; > + rtx (*fcn_mask) (rtx, rtx, rtx, rtx, rtx) = NULL; > + rtx (*fcn_maskz) (rtx, rtx, rtx, rtx, rtx, rtx) = NULL; > int masked = 1; > machine_mode mode, wide_mode, nar_mode; nar_mode = V4SFmode; mode = V16SFmode; wide_mode = V64SFmode; fcn_mask = gen_avx5124fmaddps_4fmaddps_mask; fcn_maskz = gen_avx5124fmaddps_4fmaddps_maskz; follows this immediately, so there is no point in setting fcn_mask and fcn_maskz to NULL. Jakub