Already done
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32061
I should make it clear that I am also interested in a warning for the
purpose of indicating that something 'has no effect', which is the case in
expr && non-zero-const
expr || zero-const
and not just the case where the result is 'always true/false' which is
the subject of the PR
expr && zero-const
expr || non-zero-const
And yes, if the const is first then it can cause the second expression to
never be evaluated which may be an issue when side-effects are present.
I give this example of why I want to see such warnings
if (day_of_week == DOW_SUNDAY || DOW_MONDAY)
and I know that often a similar construct is intentional, like
if (report_mode == REPORT_ACTIVE || DEBUG_FORCE_REPORT)
cheers
Ben Elliston wrote:
> Hey Eyal,
>
>
>>I see two kinds of warnings:
>> warning: logical '||' with non-zero constant will always evaluate as
>> true
>> warning: logical '&&' with non-zero constant will always evaluate as
>> true
>>
>>The first statement is true, the second false.
>
>
> You're right. Can you please file a PR for this?
>
> Thanks,
> Ben
>
>
--
Eyal Lebedinsky ([EMAIL PROTECTED]) <http://samba.org/eyal/>
attach .zip as .dat