https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60664

Manuel López-Ibáñez <manu at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING

--- Comment #4 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to David Binderman from comment #3)
> $ fgrep "Wtautological-constant-out-of-range-compare" mk.out 
> ../../src/trunk/gcc/expr.c:5230:9: warning: comparison of constant -1 with
> expression of type 'unsigned int' is always false
> [-Wtautological-constant-out-of-range-compare]
> $
> 
>       if (!SUBREG_CHECK_PROMOTED_SIGN (target,
>                       TYPE_UNSIGNED (TREE_TYPE (exp))))
>         {
> 

Actually, recent gcc/g++ both warn for your testcase in comment #1:

/home/manuel/test.c:7:12: warning: comparison of constant ‘2’ with boolean
expression is always false [-Wbool-compare]
   if (f(a) == 2)
            ^

David, would you mind testing with a recent revision? In those cases where
Clang warns and GCC doesn't, could you figure out a minimal testcase? Thanks!

Reply via email to