[PATCH] D13643: [Sema] Warn on ternary comparison
Matěj Grabovský via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 21 06:02:58 PDT 2015
mgrabovsky added a comment.
In http://reviews.llvm.org/D13643#272046, @danielmarjamaki wrote:
> In http://reviews.llvm.org/D13643#271885, @danielmarjamaki wrote:
>
> > I tested this on 2199 debian projects.. and got 16 warnings.
> >
> > ftp://ftp.se.debian.org/debian/pool/main/t/tf5/tf5_5.0beta8.orig.tar.gz
> > expr.c:738:22: warning: comparisons such as 'a < b != c' do not have their mathematical meaning [-Wparentheses]
> > if (neg0 == neg1 && sum<0 != neg0) {
> > ^~~~~~~~~~~~~
> >
> >
> > I guess it could be intentional. I haven't looked in the real code.
> > ....
>
>
> Do you have any comments on that one.
In the code you posted, `neg0` should be Boolean (technically, it's an `int`, but it should be either 0 or 1, which clang can detect using `Expr::isKnownToHaveBooleanValue`). Although, aaron.ballman suggested above that such code is unclear and should use parentheses. Thus this warning is de facto intentional.
http://reviews.llvm.org/D13643
More information about the cfe-commits
mailing list