[PATCH] D45517: [analyzer] False positive refutation with Z3
George Karpenkov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue May 29 17:30:48 PDT 2018
george.karpenkov added inline comments.
================
Comment at: lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp:1267
+
+ Z3Expr Constraints = Z3Expr::fromBoolean(false);
+
----------------
george.karpenkov wrote:
> almost certainly a bug, we shouldn't default to unfeasible when the list of constraints is empty.
Ooops, sorry, now I see how the code is supposed to work.
================
Comment at: lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp:1292
+ Constraints =
+ Z3Expr::fromBinOp(Constraints, BO_LOr, SymRange, IsSignedTy);
+ }
----------------
NoQ wrote:
> george.karpenkov wrote:
> > I'm very confused as to why are we doing disjunctions here.
> I think this corresponds to RangeSet being a union of Ranges.
Ah, thanks, right! Then my previous comment regarding `false` is wrong.
https://reviews.llvm.org/D45517
More information about the cfe-commits
mailing list