Further improve path-sensitivity with divide-by-zero checking by assuming that a denominator cannot be zero even when the result of an '/' or '%' expression is unknown.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57855 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Analysis/misc-ps.m b/test/Analysis/misc-ps.m
index 956d0df..f473f29 100644
--- a/test/Analysis/misc-ps.m
+++ b/test/Analysis/misc-ps.m
@@ -29,3 +29,17 @@
if (x == 0) x = x / j; // no-warning
}
+void divzeroassume(unsigned x, unsigned j) {
+ x /= j;
+ if (j == 0) x /= 0; // no-warning
+ if (j == 0) x /= j; // no-warning
+ if (j == 0) x = x / 0; // no-warning
+}
+
+void divzeroassumeB(unsigned x, unsigned j) {
+ x = x / j;
+ if (j == 0) x /= 0; // no-warning
+ if (j == 0) x /= j; // no-warning
+ if (j == 0) x = x / 0; // no-warning
+}
+