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