2017-03-04 02:02:02 +08:00
|
|
|
// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-config suppress-null-return-paths=true -analyzer-output=text -verify %s
|
2013-03-20 06:10:44 +08:00
|
|
|
// expected-no-diagnostics
|
|
|
|
|
|
|
|
int *returnNull() { return 0; }
|
|
|
|
int coin();
|
|
|
|
|
|
|
|
// Use a float parameter to ensure that the value is unknown. This will create
|
|
|
|
// a cycle in the generated ExplodedGraph.
|
|
|
|
void testCycle(float i) {
|
|
|
|
int *x = returnNull();
|
|
|
|
int y;
|
|
|
|
while (i > 0) {
|
|
|
|
x = returnNull();
|
|
|
|
y = 2;
|
|
|
|
i -= 1;
|
|
|
|
}
|
|
|
|
*x = 1; // no-warning
|
|
|
|
y += 1;
|
|
|
|
}
|