https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101537
Nikita Kniazev <nok.raven at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nok.raven at gmail dot com --- Comment #1 from Nikita Kniazev <nok.raven at gmail dot com> --- int foo(unsigned char x, bool f) { x |= f ? 1 : 0; // warning return x; } int bar(unsigned char x, bool f) { x = x | f ? 1 : 0; // no warning return x; } it also warns only for self-operators