Anastasia Stulova | 545652b | 2019-03-26 11:22:37 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -verify %s -cl-std=CL1.2 |
| 2 | // RUN: %clang_cc1 -verify %s -pedantic -DPEDANTIC -cl-std=CL1.2 |
Joey Gouly | 1d58cdb | 2013-01-17 17:35:00 +0000 | [diff] [blame] | 3 | |
Anastasia Stulova | 545652b | 2019-03-26 11:22:37 +0000 | [diff] [blame] | 4 | |
| 5 | #define NO_VAR_FUNC(...) 5 |
| 6 | #define VAR_FUNC(...) func(__VA_ARGS__); |
| 7 | #define VAR_PRINTF(str, ...) printf(str, __VA_ARGS__); |
| 8 | #ifdef PEDANTIC |
| 9 | // expected-warning@-4{{variadic macros are a Clang extension in OpenCL}} |
| 10 | // expected-warning@-4{{variadic macros are a Clang extension in OpenCL}} |
| 11 | // expected-warning@-4{{variadic macros are a Clang extension in OpenCL}} |
| 12 | #endif |
| 13 | |
| 14 | int printf(__constant const char *st, ...); |
| 15 | |
| 16 | void foo() { |
| 17 | NO_VAR_FUNC(1, 2, 3); |
| 18 | VAR_FUNC(1, 2, 3); //expected-error{{implicit declaration of function 'func' is invalid in OpenCL}} |
| 19 | VAR_PRINTF("%i", 1); |
| 20 | } |