blob: cc9458da558e87acf288ad57ef5ac91d8441858a [file] [log] [blame]
Anastasia Stulova545652b2019-03-26 11:22:37 +00001// RUN: %clang_cc1 -verify %s -cl-std=CL1.2
2// RUN: %clang_cc1 -verify %s -pedantic -DPEDANTIC -cl-std=CL1.2
Joey Gouly1d58cdb2013-01-17 17:35:00 +00003
Anastasia Stulova545652b2019-03-26 11:22:37 +00004
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}