forked from OSchip/llvm-project
31 lines
926 B
Common Lisp
31 lines
926 B
Common Lisp
//RUN: %clang_cc1 -O0 -fsyntax-only -verify %s
|
|
//RUN: %clang_cc1 -O0 -cl-std=CL2.0 -fsyntax-only -verify -DCL20 %s
|
|
|
|
kernel void D (global int *x) {
|
|
int i = 10;
|
|
#ifndef CL20
|
|
// expected-error@+2 {{'opencl_unroll_hint' attribute requires OpenCL version 2.0 or above}}
|
|
#endif
|
|
__attribute__((opencl_unroll_hint))
|
|
do {
|
|
} while(i--);
|
|
}
|
|
|
|
#ifdef CL20
|
|
kernel void C (global int *x) {
|
|
int I = 3;
|
|
__attribute__((opencl_unroll_hint(I))) // expected-error {{'opencl_unroll_hint' attribute requires an integer constant}}
|
|
while (I--);
|
|
}
|
|
|
|
kernel void E() {
|
|
__attribute__((opencl_unroll_hint(2,4))) // expected-error {{'opencl_unroll_hint' attribute takes no more than 1 argument}}
|
|
for(int i=0; i<100; i++);
|
|
}
|
|
|
|
kernel void F() {
|
|
__attribute__((opencl_unroll_hint(-1))) // expected-error {{'opencl_unroll_hint' attribute requires a positive integral compile time constant expression}}
|
|
for(int i=0; i<100; i++);
|
|
}
|
|
#endif
|