view clang/test/Preprocessor/macro_variadic.cl @ 165:597b3f1c2c93

fix call createTailCallEliminationPass
author anatofuz
date Tue, 24 Mar 2020 15:30:52 +0900
parents 1d019706d866
children 2e18cbf3894f
line wrap: on
line source

// RUN: %clang_cc1 -verify %s -cl-std=CL1.2
// RUN: %clang_cc1 -verify %s -pedantic -DPEDANTIC -cl-std=CL1.2


#define NO_VAR_FUNC(...)  5
#define VAR_FUNC(...) func(__VA_ARGS__);
#define VAR_PRINTF(str, ...) printf(str, __VA_ARGS__);
#ifdef PEDANTIC
// expected-warning@-4{{variadic macros are a Clang extension in OpenCL}}
// expected-warning@-4{{variadic macros are a Clang extension in OpenCL}}
// expected-warning@-4{{variadic macros are a Clang extension in OpenCL}}
#endif

int printf(__constant const char *st, ...);

void foo() {
  NO_VAR_FUNC(1, 2, 3);
  VAR_FUNC(1, 2, 3); //expected-error{{implicit declaration of function 'func' is invalid in OpenCL}}
  VAR_PRINTF("%i", 1);
}