diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/PCH/functions.c | 20 | ||||
-rw-r--r-- | clang/test/PCH/functions.h | 6 |
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 *); |