https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95156
Bug ID: 95156 Summary: -Wtautological-compare warns in C but not C++ Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: simon.marchi at polymtl dot ca Target Milestone: --- Any reason why this code: volatile unsigned short insn; int main() { if ((insn & 0xffb0) == 0xe950) { return 1; } else { return 0; } } warns when compiled with gcc: $ gcc-10 test.c -c -Wall test.c: In function ‘main’: test.c:5:23: warning: bitwise comparison always evaluates to false [-Wtautological-compare] 5 | if ((insn & 0xffb0) == 0xe950) { | but not when compiled with g++: $ g++-10 test.c -c -Wall <nothing> ?