diff options
author | Richard Trieu <rtrieu@google.com> | 2019-10-19 00:57:23 +0000 |
---|---|---|
committer | Richard Trieu <rtrieu@google.com> | 2019-10-19 00:57:23 +0000 |
commit | a27ae544f30bfd7dc765b8a6080190d39d893b99 (patch) | |
tree | 20f6b66320ee0e421f33e6e54eab73db57932762 /include/clang/Basic/BitmaskEnum.h | |
parent | 7decfe83555385bebac2e4bed35035f3b0f4d666 (diff) | |
download | clang-a27ae544f30bfd7dc765b8a6080190d39d893b99.tar.gz |
New tautological warning for bitwise-or with non-zero constant always true.
Taking a value and the bitwise-or it with a non-zero constant will always
result in a non-zero value. In a boolean context, this is always true.
if (x | 0x4) {} // always true, intended '&'
This patch creates a new warning group -Wtautological-bitwise-compare for this
warning. It also moves in the existing tautological bitwise comparisons into
this group. A few other changes were needed to the CFGBuilder so that all bool
contexts would be checked. The warnings in -Wtautological-bitwise-compare will
be off by default due to using the CFG.
Fixes: https://bugs.llvm.org/show_bug.cgi?id=42666
Differential Revision: https://reviews.llvm.org/D66046
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@375318 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/BitmaskEnum.h')
0 files changed, 0 insertions, 0 deletions