[cfe-commits] [Patch] Add new warning for logical not on LHS of comparison

Stephen Canon scanon at apple.com
Sun Oct 14 08:19:34 PDT 2012


On Oct 12, 2012, at 12:38 PM, Richard Trieu <rtrieu at google.com> wrote:

> This patch is for a new warning to Clang, called -Wlogical-not-compare.  It is designed to catch the case where the user is attempting to negate a comparison, but only manages to negate the LHS because of missing parens.  For instance, warn here:
> 
>      if (!x < 5)
> 
> The user probably meant:
> 
>      if (!(x < 5))
> 
> or
> 
>      if (x >= 5)
> 
> When emitted, the warning will have a note suggesting this as a fix-it (drop the not and inverting the comparison operator).

If x has FP type, then !(x < 5) is not equivalent to (x >= 5); if x is NaN, the first is true, but the second is false.

- Steve



More information about the cfe-commits mailing list