23 lines
405 B
C++
23 lines
405 B
C++
|
// 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
|
||
|
}
|
||
|
|