Adriaan van Os wrote:
- precedence of operators.
It is well defined that a or b and c is equal to a or (b and c) , as a + b * c equal to a + (b * c). A warning here is annoying. If at all, it should be a separate option, off by default and not included in -Wall.
- logical operations in an operand of a relational operator
OK, this can be confusing, a warning is useful (off by default and on with -Wall).
Sorry, I think you're contradicting yourself. 2. is also about precendence of operators, and it's just as well defined. That's not the question -- it's about whether humans (not computers) are likely to confuse them.
When writing more complex Boolean expressions, I've found it useful (in C so far) to get this warning, since occasionally I really make such mistakes (and they're often not easy to notice otherwise).
Frank