martong accepted this revision. martong added a comment. This revision is now accepted and ready to land.
Generally it looks okay to me. However, I have a question: In `SimpleSValBuilder::evalBinOpNN` we do infer values to symbols. E.g. if we have an expression `y / x` and `y` is known to be `0` then we assign `0` to the division expression. On one hand, this logic is independent from whichever solver implementation we use. On the other hand, we do the value inferring based on the fact that `y` is a constrainted to be in `[0, 0]` so in this sense this infer logic should be in the solver. What do you think, perhaps another round of refactoring should move that logic into the solver? ================ Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1388 +//===----------------------------------------------------------------------===// +// New constraint handler +//===----------------------------------------------------------------------===// ---------------- `New` now, but it might be old after a while. ================ Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1394 +/// +/// It is designed to have one derived class, but generally it cna have more. +/// Derived class can control which types we handle by defining methods of the ---------------- typo, `can`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105692/new/ https://reviews.llvm.org/D105692 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits