https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64609
Bug ID: 64609 Summary: No -Wbool-compare warning on "(a = 0 && 0) <= 4" Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: chengniansun at gmail dot com This might not be a bug, but a feature request. There is no -Wbool-compare warning for the following code. $: cat s.c int a; void fn1() { ((a = 0 && 0) <= 4); } $: $: gcc-trunk -c s.c -Wbool-compare $: $: clang-trunk -c s.c -Wno-unused-value s.c:2:28: warning: comparison of constant 4 with boolean expression is always true [-Wtautological-constant-out-of-range-compare] void fn1() { ((a = 0 && 0) <= 4); } ~~~~~~~~~~~~ ^ ~ 1 warning generated. $: $: