re PR c++/62153 (warn for bool expression compared with integer different from 0/1)
authorMarek Polacek <polacek@redhat.com>
Tue, 19 Aug 2014 18:50:00 +0000 (18:50 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Tue, 19 Aug 2014 18:50:00 +0000 (18:50 +0000)
commit04159acfd818cbc29a9d12dfa2e83716c106f2c7
treec01c9d77dc28f6a4d017760a2f0f57809574d010
parent8a2e8325e4b35265ea983561eca4a23a13630b07
re PR c++/62153 (warn for bool expression compared with integer different from 0/1)

PR c++/62153
* doc/invoke.texi: Document -Wbool-compare.
c-family/
* c-common.c (maybe_warn_bool_compare): New function.
* c-common.h (maybe_warn_bool_compare): Declare.
* c.opt (Wbool-compare): New option.
c/
* c-typeck.c (build_binary_op): If either operand of a comparison
is a boolean expression, call maybe_warn_bool_compare.
cp/
* call.c (build_new_op_1): Remember the type of arguments for
a comparison.  If either operand of a comparison is a boolean
expression, call maybe_warn_bool_compare.
testsuite/
* c-c++-common/Wbool-compare-1.c: New test.

From-SVN: r214183
12 files changed:
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/c-family/c-common.h
gcc/c-family/c.opt
gcc/c/ChangeLog
gcc/c/c-typeck.c
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/Wbool-compare-1.c [new file with mode: 0644]