Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> writes: > Hi all, > > I'm getting a warning when building genrecog that 'label' may be used > uninitialised in: > > uint64_t label = 0; > > if (d->test.kind == rtx_test::CODE > && d->if_statement_p (&label) > && label == CONST_INT) > > This is because if_statement_p looks like this: > inline bool > decision::if_statement_p (uint64_t *label) const > { > if (singleton () && first->labels.length () == 1) > { > if (label) > *label = first->labels[0]; > return true; > } > return false; > } > > It's not guaranteed to write label.
It is guaranteed to write to label on a true return though, so it looks like a false positive. Is current GCC warning for this or are you using an older host compiler? Thanks, Richard