This change enables the builtin function declarations in clang driver by default using the Tablegen solution along with the implicit include of 'opencl-c-base.h' header. A new flag '-cl-no-stdinc' disabling all default declarations and header includes is added. If any other mechanisms were used to include the declarations (e.g. with -Xclang -finclude-default-header) and the new default approach is not sufficient the, `-cl-no-stdinc` flag has to be used with clang to activate the old behavior. Tags: #clang Differential Revision: https://reviews.llvm.org/D96515
14 lines
322 B
Common Lisp
14 lines
322 B
Common Lisp
// RUN: %clang %s -Xclang -verify -fsyntax-only
|
|
// RUN: %clang %s -cl-no-stdinc -Xclang -verify -DNOINC -fsyntax-only
|
|
|
|
#ifndef NOINC
|
|
//expected-no-diagnostics
|
|
#endif
|
|
|
|
void test() {
|
|
int i = get_global_id(0);
|
|
#ifdef NOINC
|
|
//expected-error@-2{{implicit declaration of function 'get_global_id' is invalid in OpenCL}}
|
|
#endif
|
|
}
|