diff options
Diffstat (limited to 'test/Analysis/ptr-arith.cpp')
-rw-r--r-- | test/Analysis/ptr-arith.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Analysis/ptr-arith.cpp b/test/Analysis/ptr-arith.cpp new file mode 100644 index 0000000..5f09518 --- /dev/null +++ b/test/Analysis/ptr-arith.cpp @@ -0,0 +1,22 @@ +// RUN: %clang_cc1 -analyze -analyzer-checker=core,debug.ExprInspection -verify %s +// expected-no-diagnostics +struct X { + int *p; + int zero; + void foo () { + reset(p - 1); + } + void reset(int *in) { + while (in != p) // Loop must be entered. + zero = 1; + } +}; + +int test (int *in) { + X littleX; + littleX.zero = 0; + littleX.p = in; + littleX.foo(); + return 5/littleX.zero; // no-warning +} + |