This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/77292] Spurious warning: logical not is only applied to the left hand side of comparison
- From: "segher at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 19 Aug 2016 12:32:21 +0000
- Subject: [Bug c/77292] Spurious warning: logical not is only applied to the left hand side of comparison
- Authentication-results: sourceware.org; auth=none
- Auto-submitted: auto-generated
- References: <bug-77292-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77292
Segher Boessenkool <segher at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |segher at gcc dot gnu.org
--- Comment #11 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Manuel López-Ibáñez from comment #4)
> Note that Clang suggests two ways to silence the warning:
>
> prog.cc:9:10: note: add parentheses after the '!' to evaluate the comparison
> first
> return !a == b;
> ^
> ( )
> prog.cc:9:10: note: add parentheses around left hand side expression to
> silence this warning
> return !a == b;
> ^
> ( )
Both of these suggestions are not so good. "!(a == b)" is better written
as "a != b", and "!(a) == b" is just horrible.