xref: /aosp_15_r20/external/clang/test/Frontend/opencl.cl (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 %s -verify -fsyntax-only
2*67e74705SXin Li// RUN: %clang_cc1 %s -verify -fsyntax-only -cl-std=CL1.1
3*67e74705SXin Li// RUN: %clang_cc1 %s -verify -fsyntax-only -cl-std=CL1.2
4*67e74705SXin Li// RUN: %clang_cc1 %s -verify -fsyntax-only -cl-std=CL2.0
5*67e74705SXin Li// RUN: %clang_cc1 %s -verify -fsyntax-only -fblocks -DBLOCKS
6*67e74705SXin Li// RUN: %clang_cc1 %s -verify -fsyntax-only -cl-std=CL1.1 -fblocks -DBLOCKS
7*67e74705SXin Li// RUN: %clang_cc1 %s -verify -fsyntax-only -cl-std=CL1.2 -fblocks -DBLOCKS
8*67e74705SXin Li// RUN: %clang_cc1 %s -triple amdgcn--amdhsa -x c -std=c99 -verify -fsyntax-only
9*67e74705SXin Li// RUN: %clang_cc1 -cl-std=CL1.1 -cl-strict-aliasing -fblocks %s 2>&1 | FileCheck --check-prefix=CHECK-INVALID-OPENCL-VERSION11 %s
10*67e74705SXin Li// RUN: %clang_cc1 -cl-std=CL1.2 -cl-strict-aliasing -fblocks %s 2>&1 | FileCheck --check-prefix=CHECK-INVALID-OPENCL-VERSION12 %s
11*67e74705SXin Li// RUN: %clang_cc1 -cl-std=CL2.0 -cl-strict-aliasing %s 2>&1 | FileCheck --check-prefix=CHECK-INVALID-OPENCL-VERSION20 %s
12*67e74705SXin Li
13*67e74705SXin Livoid f(void (^g)(void)) {
14*67e74705SXin Li#ifdef __OPENCL_C_VERSION__
15*67e74705SXin Li#if __OPENCL_C_VERSION__ < CL_VERSION_2_0 && !defined(BLOCKS)
16*67e74705SXin Li  // expected-error@-3{{blocks support disabled - compile with -fblocks or for OpenCL 2.0 or above}}
17*67e74705SXin Li#else
18*67e74705SXin Li  // expected-no-diagnostics
19*67e74705SXin Li#endif
20*67e74705SXin Li#else
21*67e74705SXin Li  // expected-error@-8{{blocks support disabled - compile with -fblocks or pick a deployment target that supports them}}
22*67e74705SXin Li#endif
23*67e74705SXin Li}
24*67e74705SXin Li
25*67e74705SXin Li// CHECK-INVALID-OPENCL-VERSION11: warning: OpenCL version 1.1 does not support the option '-cl-strict-aliasing'
26*67e74705SXin Li// CHECK-INVALID-OPENCL-VERSION12: warning: OpenCL version 1.2 does not support the option '-cl-strict-aliasing'
27*67e74705SXin Li// CHECK-INVALID-OPENCL-VERSION20: warning: OpenCL version 2.0 does not support the option '-cl-strict-aliasing'
28