https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64639
--- Comment #3 from Chengnian Sun <chengniansun at gmail dot com> --- (In reply to Chengnian Sun from comment #2) > (In reply to Andrew Pinski from comment #1) > > "(a = 0) != 0" has a side effect of setting a to 0. > > > > I think in this case, clang is incorrectly warning about it. > > I agree that (a = 0) has a side effect, but the comparison "!=" is not used. Please refer to the following test program. GCC emits a warning for the expression "(a = 0) != 0". $: cat t.c int a; void f() { (a = 0) != 0; } $: gcc-trunk -c -Wunused-value t.c t.c: In function ¡®f¡¯: t.c:3:11: warning: value computed is not used [-Wunused-value] (a = 0) != 0; ^