public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/106455] New: bad style: comparatives over booleans ?
@ 2022-07-27 14:11 dcb314 at hotmail dot com
2022-07-27 14:45 ` [Bug c/106455] " pinskia at gcc dot gnu.org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: dcb314 at hotmail dot com @ 2022-07-27 14:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106455
Bug ID: 106455
Summary: bad style: comparatives over booleans ?
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: dcb314 at hotmail dot com
Target Milestone: ---
Static analyser cppcheck says for recent gcc trunk:
trunk.git/gcc/sreal.h:72:25: style: Comparison of a variable having boolean
value using relational (<, >, <= or >=) operator.
[comparisonOfBoolWithBoolError]
Source code is
bool negative = m_sig < 0;
bool other_negative = other.m_sig < 0;
if (negative != other_negative)
return negative > other_negative;
I agree - this looks bad style to me. I don't think > should work on booleans.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c/106455] bad style: comparatives over booleans ?
2022-07-27 14:11 [Bug c/106455] New: bad style: comparatives over booleans ? dcb314 at hotmail dot com
@ 2022-07-27 14:45 ` pinskia at gcc dot gnu.org
2022-07-27 15:07 ` schwab@linux-m68k.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-27 14:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106455
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |WONTFIX
Status|UNCONFIRMED |RESOLVED
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is not bad style at all.
bool > bool works just fine and is exactly what we want to test here.
Basically it means
negative && !other_negative
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c/106455] bad style: comparatives over booleans ?
2022-07-27 14:11 [Bug c/106455] New: bad style: comparatives over booleans ? dcb314 at hotmail dot com
2022-07-27 14:45 ` [Bug c/106455] " pinskia at gcc dot gnu.org
@ 2022-07-27 15:07 ` schwab@linux-m68k.org
2022-07-27 15:15 ` dcb314 at hotmail dot com
2022-07-27 15:18 ` schwab@linux-m68k.org
3 siblings, 0 replies; 5+ messages in thread
From: schwab@linux-m68k.org @ 2022-07-27 15:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106455
--- Comment #2 from Andreas Schwab <schwab@linux-m68k.org> ---
negative && !other_negative is definitely easier to understand than negative >
other_negative. In fact, given the condition negative != other_negative,
negative already implies !other_negative, so this can be simplified to just if
(negative != other_negative) return negative.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c/106455] bad style: comparatives over booleans ?
2022-07-27 14:11 [Bug c/106455] New: bad style: comparatives over booleans ? dcb314 at hotmail dot com
2022-07-27 14:45 ` [Bug c/106455] " pinskia at gcc dot gnu.org
2022-07-27 15:07 ` schwab@linux-m68k.org
@ 2022-07-27 15:15 ` dcb314 at hotmail dot com
2022-07-27 15:18 ` schwab@linux-m68k.org
3 siblings, 0 replies; 5+ messages in thread
From: dcb314 at hotmail dot com @ 2022-07-27 15:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106455
--- Comment #3 from David Binderman <dcb314 at hotmail dot com> ---
(In reply to Andrew Pinski from comment #1)
> bool > bool works just fine and is exactly what we want to test here.
Confused. So is false > true or true > false ?
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c/106455] bad style: comparatives over booleans ?
2022-07-27 14:11 [Bug c/106455] New: bad style: comparatives over booleans ? dcb314 at hotmail dot com
` (2 preceding siblings ...)
2022-07-27 15:15 ` dcb314 at hotmail dot com
@ 2022-07-27 15:18 ` schwab@linux-m68k.org
3 siblings, 0 replies; 5+ messages in thread
From: schwab@linux-m68k.org @ 2022-07-27 15:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106455
--- Comment #4 from Andreas Schwab <schwab@linux-m68k.org> ---
bool > bool is evaluated as (int)bool > (int)bool.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-07-27 15:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-27 14:11 [Bug c/106455] New: bad style: comparatives over booleans ? dcb314 at hotmail dot com
2022-07-27 14:45 ` [Bug c/106455] " pinskia at gcc dot gnu.org
2022-07-27 15:07 ` schwab@linux-m68k.org
2022-07-27 15:15 ` dcb314 at hotmail dot com
2022-07-27 15:18 ` schwab@linux-m68k.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).