[clang] [Clang][diagnostics] Improve the diagnostics for chained comparisons (PR #129285)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 28 11:12:03 PST 2025
================
@@ -85,7 +85,7 @@ void f(int x, int y, int z) {
if ((a<y) != -1) {}// expected-warning {{comparison of constant -1 with boolean expression is always true}}
if ((a<y) == z) {} // no warning
- if (a>y<z) {} // expected-error {{comparisons like 'X<=Y<=Z' don't have their mathematical meaning}}
+ if (a>y<z) {} // expected-error {{comparisons like 'a > y < z' don't have their mathematical meaning}}
----------------
erichkeane wrote:
I don't like the one with the actual expression in it, as that is going to get arbitrarily large. That said, I DO wonder if there is value in using the actual operators instead of just `<=` for both sides (so not printing the expression, just the operators, and still `X`, `Y`, `Z`). That would require keeping `like` though.
https://github.com/llvm/llvm-project/pull/129285
More information about the cfe-commits
mailing list