David Sterba <dsterba@xxxxxxx> on Wed, 2014/06/04 18:44:
> On Wed, Jun 04, 2014 at 09:19:26AM +0200, Christian Hesse wrote:
> > > It seems to be related to default gcc flags from distribution?
> >
> > Probably. I did compile with optimization, so adding -O2 may do the trick:
> >
> > make CFLAGS="${CFLAGS} -O2" all
>
> The warning appears with -O2, so the question is if gcc is not able to
> reason about the values (ie. a false positive) or if there's a bug that
> I don't see.
I do not see a bug either. So probably this is a false positive...
Looks like the warning is triggered as soon as -ftree-vrp is added to CFLAGS.
From gcc man page:
-ftree-vrp
Perform Value Range Propagation on trees. This is similar to the
constant propagation pass, but instead of values, ranges of values are
propagated. This allows the optimizers to remove unnecessary range
checks like array bound checks and null pointer checks. This is
enabled by default at -O2 and higher. Null pointer check elimination
is only done if -fdelete-null-pointer-checks is enabled.
Is it possibly that gcc optimized away any checks?
--
Schoene Gruesse
Chris
O< ascii ribbon campaign
stop html mail - www.asciiribbon.org
Attachment:
signature.asc
Description: PGP signature
