summaryrefslogtreecommitdiffstats
path: root/test/Analysis/func.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/func.c')
-rw-r--r--test/Analysis/func.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/test/Analysis/func.c b/test/Analysis/func.c
index b6cebde8..709ebf7 100644
--- a/test/Analysis/func.c
+++ b/test/Analysis/func.c
@@ -1,4 +1,6 @@
-// RUN: %clang_cc1 -analyze -analyzer-checker=core,experimental.core -analyzer-store=region -verify %s
+// RUN: %clang_cc1 -analyze -analyzer-checker=core,experimental.core,debug.ExprInspection -analyzer-store=region -verify %s
+
+void clang_analyzer_eval(int);
void f(void) {
void (*p)(void);
@@ -13,3 +15,13 @@ void g(void (*fp)(void));
void f2() {
g(f);
}
+
+void f3(void (*f)(void), void (*g)(void)) {
+ clang_analyzer_eval(!f); // expected-warning{{UNKNOWN}}
+ f();
+ clang_analyzer_eval(!f); // expected-warning{{FALSE}}
+
+ clang_analyzer_eval(!g); // expected-warning{{UNKNOWN}}
+ (*g)();
+ clang_analyzer_eval(!g); // expected-warning{{FALSE}}
+}
OpenPOWER on IntegriCloud