diff options
Diffstat (limited to 'test/Analysis/diagnostics/shortest-path-suppression.c')
-rw-r--r-- | test/Analysis/diagnostics/shortest-path-suppression.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Analysis/diagnostics/shortest-path-suppression.c b/test/Analysis/diagnostics/shortest-path-suppression.c new file mode 100644 index 0000000000..4f648b986b --- /dev/null +++ b/test/Analysis/diagnostics/shortest-path-suppression.c @@ -0,0 +1,19 @@ +// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-config suppress-null-return-paths=true -analyzer-output=text -verify %s +// 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; +} |