summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/PCH/functions.c20
-rw-r--r--clang/test/PCH/functions.h6
2 files changed, 26 insertions, 0 deletions
diff --git a/clang/test/PCH/functions.c b/clang/test/PCH/functions.c
new file mode 100644
index 00000000000..9042796924e
--- /dev/null
+++ b/clang/test/PCH/functions.c
@@ -0,0 +1,20 @@
+// Test this without pch.
+// RUN: clang-cc -include %S/functions.h -fsyntax-only -verify %s
+
+// Test with pch.
+// RUN: clang-cc -emit-pch -o %t %S/functions.h &&
+// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
+
+int f0(int x0, int y0, ...) { return x0 + y0; }
+
+float *test_f1(int val, double x, double y) {
+ if (val > 5)
+ return f1(x, y);
+ else
+ return f1(x); // expected-error{{too few arguments to function call}}
+}
+
+void test_g0(int *x, float * y) {
+ g0(y); // expected-warning{{incompatible pointer types passing 'float *', expected 'int *'}}
+ g0(x);
+}
diff --git a/clang/test/PCH/functions.h b/clang/test/PCH/functions.h
new file mode 100644
index 00000000000..bc28ad7321c
--- /dev/null
+++ b/clang/test/PCH/functions.h
@@ -0,0 +1,6 @@
+/* For use with the functions.c test */
+
+int f0(int x, int y, ...);
+float *f1(float x, float y);
+
+void g0(int *);
OpenPOWER on IntegriCloud