diff options
author | Jordan Rose <jordan_rose@apple.com> | 2013-03-19 22:10:44 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2013-03-19 22:10:44 +0000 |
commit | 6e65e1047f861d4db87ad0154c171ac66d53b649 (patch) | |
tree | 9f683dca12605f188074c275f2493e903b7d175e | |
parent | 239b6e47d282bd66c8b559ac47b8b42b34da619e (diff) |
[analyzer] Add a test case for diagnostic suppression on a graph with cycles.
(see previous commit)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177449 91177308-0d34-0410-b5e6-96231b3b80d8
-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; +} |