https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97370
--- Comment #3 from Harald van Dijk <harald at gigawatt dot nl> --- (In reply to eggert from comment #2) > That's so unlikely as to not be worth worrying about. See PR 7543 for the history of that warning. > And even if it were > more likely, the same argument would apply to !a && b. A very significant difference is that !a && b is commonly seen where it is exactly what the programmer wanted. For !a & b, that is not generally the case. Perhaps the warning could be suppressed specifically for boolean variables, since those make it more likely that the (!a) & b meaning is exactly what is intended? > The GCC documentation says the motivation for warning about ~bool is that > it's very likely a bug in the program. This motivation does not apply to > bool & ~bool, so it'd be better to not warn for that case. Agreed. Apologies for the confusion there, I was trying to say I think the suggestion to use ~ should be dropped, in which case the warning generated for the ~ form becomes unrelated to your issue. I was not trying to say that the warning generated for the ~ form should be kept.