[PATCH] D80117: [analyzer] Introduce reasoning about symbolic remainder operator

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 18 08:34:42 PDT 2020


NoQ added inline comments.


================
Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:459
+    bool CoversTheWholeType =
+        (Origin.From().isMinSignedValue() || Origin.To().isMaxValue());
+
----------------
`(Origin.From() + 1).isMinSignedValue()` is another sufficient condition(?)


================
Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:462
+    if (CoversTheWholeType) {
+      return {ValueFactory.getMinValue(RangeType),
+              ValueFactory.getMaxValue(RangeType)};
----------------
You mean zero, right?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80117





More information about the cfe-commits mailing list