[clang] [analyzer] Correct crash in Z3 wrapper (PR #158276)
DonĂ¡t Nagy via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 12 05:59:03 PDT 2025
================
@@ -13,3 +13,29 @@ int negate(int x, int y) {
return 0;
return 1;
}
+
+void c();
+void case004(int *a, int *b) {
+ void *e;
+ b != a;
+ c(e); // expected-warning{{1st function call argument is an uninitialized value}}
+}
+
+void z3crash(int a, int b) {
+ b = a || b;
+ (-b == a) / a; // expected-warning{{expression result unused}}
----------------
NagyDonat wrote:
Note that here `-b == a` is evaluated as `(-b) == a` (because negation has higher precedence than equality), while your commit changes the handling of expressions like `- (x == y)` where a comparison operator is a child of an unary operator.
https://github.com/llvm/llvm-project/pull/158276
More information about the cfe-commits
mailing list