https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70800
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> --- Given the following source code extern void g(int n); void f( int n) { if ((n & 0x30) == 1) g( n); } Current trunk gcc can't find much wrong: $ ~/gcc/results/bin/gcc -c -g -O2 -Wall -Wextra -Wtype-limits jan22a.cc $ If it could, then these four known bugs in the gcc source code could be found $ grep "Expression .* is always" ~/gcc/cppcheck.20170120.out [trunk/libgcc/config/libbid/bid_binarydecimal.c:143933]: (style) Expression '(X & 0xffff) > 0xf423f' is always false. [trunk/libgcc/config/libbid/bid_binarydecimal.c:144327]: (style) Expression '(X & 0xffff) > 0xf423f' is always false. [trunk/libgcc/config/libbid/bid_binarydecimal.c:144723]: (style) Expression '(X & 0xffff) > 0xf423f' is always false. [trunk/libgcc/config/libbid/bid_binarydecimal.c:145133]: (style) Expression '(X & 0xffff) > 0xf423f' is always false. $ and indeed, six bugs in the linux kernel could also be found: $ grep "Expression .* is always" ~/linuxKernel/cppcheck.410-rc4.out [linux-4.10-rc4/arch/mips/include/asm/netlogic/xlr/fmn.h:304]: (style) Expression '(X & 0x2) == 0x1' is always false. [linux-4.10-rc4/drivers/block/sx8.c:1077]: (style) Expression '(X & 0x1f) < 0x20' is always true. [linux-4.10-rc4/drivers/dma/txx9dmac.c:743]: (style) Expression '(X & 0xff) <= 0xff' is always true. [linux-4.10-rc4/drivers/dma/txx9dmac.c:748]: (style) Expression '(X & 0x7f) <= 0x7f' is always true. [linux-4.10-rc4/drivers/staging/rts5208/sd.c:4129]: (style) Expression '(X & 0x1e) != 0x3' is always true. [linux-4.10-rc4/samples/bpf/sockex3_kern.c:268]: (style) Expression '(X & 0xf0) == 0x4' is always false. $