summaryrefslogtreecommitdiff
path: root/test/Analysis/uninit-vals-ps.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/uninit-vals-ps.c')
-rw-r--r--test/Analysis/uninit-vals-ps.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/Analysis/uninit-vals-ps.c b/test/Analysis/uninit-vals-ps.c
index f3011570a85a9..09736ef1e35e0 100644
--- a/test/Analysis/uninit-vals-ps.c
+++ b/test/Analysis/uninit-vals-ps.c
@@ -122,3 +122,15 @@ int pr4631_f1_b(void)
return x; // no-warning
}
+void foo_radar12278788() { return; }
+void test_radar12278788() {
+ return foo_radar12278788(); // no-warning
+}
+
+void foo_radar12278788_fp() { return; }
+typedef int (*RetIntFuncType)();
+typedef void (*RetVoidFuncType)();
+int test_radar12278788_FP() {
+ RetVoidFuncType f = foo_radar12278788_fp;
+ return ((RetIntFuncType)f)(); //expected-warning {{Undefined or garbage value returned to caller}}
+}