1// RUN: %clang_cc1 -verify %s -cl-std=CL1.2 2// RUN: %clang_cc1 -verify %s -pedantic -DPEDANTIC -cl-std=CL1.2 3 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 14int printf(__constant const char *st, ...); 15 16void 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} 21