martong added inline comments.

================
Comment at: clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp:52
+  ///   Offset: SymIntExpr{conj{n, int}, +, 12, long long}
+  class RawOffsetCalculator final
+      : public MemRegionVisitor<RawOffsetCalculator, RegionRawOffsetV2> {
----------------
Since you are already deep in refactoring. This calculation together with the 
enclosing class seems to be useful for other Checkers too. Would make sense to 
put this to `CheckerHelpers`?
E.g. the PlacementNewChecker could have benefited from this class if it had 
been available for use during the implementation of the checker.


================
Comment at: clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp:298
+  //
+  // The algorithm we are using here for bounds checking is to see if the
+  // memory access is within the extent of the base region.  Since we
----------------
What is the exact difference in between this algorithm and `assumeInBound`? 
What are the benefits (and disadvantages)  of using each of them?

And oh wait, there's more: `assumeInclusiveRange`. Is that also related? 
(StdLibraryFunctionsChecker uses that for range assumptions.)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86873/new/

https://reviews.llvm.org/D86873

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to