Skip to content

Commit 20e952e

Browse files
authored
[OpenCL] Fix extensions checks for 3.1 (#208370)
These extension checks apply to 3.1 as well. This fix kernel build fails when OpenCL 3.1 is enabled in intel/opencl-clang#752 Assisted-by: Claude
1 parent ea21481 commit 20e952e

7 files changed

Lines changed: 38 additions & 22 deletions

File tree

clang/include/clang/Basic/OpenCLOptions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class OpenCLOptions {
8383
// C++ for OpenCL inherits rule from OpenCL C v2.0.
8484
bool areProgramScopeVariablesSupported(const LangOptions &Opts) const {
8585
return Opts.getOpenCLCompatibleVersion() == 200 ||
86-
(Opts.getOpenCLCompatibleVersion() == 300 &&
86+
(Opts.getOpenCLCompatibleVersion() >= 300 &&
8787
isSupported("__opencl_c_program_scope_global_variables", Opts));
8888
}
8989

clang/lib/Sema/SemaOpenCL.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ void SemaOpenCL::handleAccessAttr(Decl *D, const ParsedAttr &AL) {
6363
if (AL.getAttrName()->getName().contains("read_write")) {
6464
bool ReadWriteImagesUnsupported =
6565
(getLangOpts().getOpenCLCompatibleVersion() < 200) ||
66-
(getLangOpts().getOpenCLCompatibleVersion() == 300 &&
66+
(getLangOpts().getOpenCLCompatibleVersion() >= 300 &&
6767
!SemaRef.getOpenCLOptions().isSupported(
6868
"__opencl_c_read_write_images", getLangOpts()));
6969
if (ReadWriteImagesUnsupported || DeclTy->isPipeType()) {

clang/lib/Sema/SemaType.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1182,7 +1182,7 @@ static QualType ConvertDeclSpecToType(TypeProcessingState &state) {
11821182
if (!S.getOpenCLOptions().isSupported("cl_khr_fp64", S.getLangOpts()))
11831183
S.Diag(DS.getTypeSpecTypeLoc(), diag::err_opencl_requires_extension)
11841184
<< 0 << Result
1185-
<< (S.getLangOpts().getOpenCLCompatibleVersion() == 300
1185+
<< (S.getLangOpts().getOpenCLCompatibleVersion() >= 300
11861186
? "cl_khr_fp64 and __opencl_c_fp64"
11871187
: "cl_khr_fp64");
11881188
else if (!S.getOpenCLOptions().isAvailableOption("cl_khr_fp64", S.getLangOpts()))
@@ -1407,7 +1407,7 @@ static QualType ConvertDeclSpecToType(TypeProcessingState &state) {
14071407
if (S.getLangOpts().OpenCL) {
14081408
const auto &OpenCLOptions = S.getOpenCLOptions();
14091409
bool IsOpenCLC30Compatible =
1410-
S.getLangOpts().getOpenCLCompatibleVersion() == 300;
1410+
S.getLangOpts().getOpenCLCompatibleVersion() >= 300;
14111411
// OpenCL C v3.0 s6.3.3 - OpenCL image types require __opencl_c_images
14121412
// support.
14131413
// OpenCL C v3.0 s6.2.1 - OpenCL 3d image write types requires support

clang/test/SemaOpenCL/access-qualifier.cl

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-std=CL2.0 %s
33
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-std=CL3.0 %s
44
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-std=CL3.0 %s -cl-ext=-__opencl_c_read_write_images
5+
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-std=CL3.1 %s
6+
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-std=CL3.1 %s -cl-ext=-__opencl_c_read_write_images
57
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-std=clc++2021 %s
68
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-std=clc++2021 %s -cl-ext=-__opencl_c_read_write_images
79

@@ -10,7 +12,7 @@ typedef image1d_t img1d_ro_default; // expected-note {{previously declared 'read
1012
typedef write_only image1d_t img1d_wo; // expected-note {{previously declared 'write_only' here}}
1113
typedef read_only image1d_t img1d_ro;
1214

13-
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300) && defined(__opencl_c_read_write_images))
15+
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300) && defined(__opencl_c_read_write_images))
1416
typedef read_write image1d_t img1d_rw;
1517
#endif
1618

@@ -33,7 +35,7 @@ void myRead(read_only image1d_t);
3335
// expected-note@-4 {{candidate function not viable: no known conversion from '__private img1d_wo' (aka '__private __write_only image1d_t') to '__private __read_only image1d_t' for 1st argument}}
3436
#endif
3537

36-
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300) && defined(__opencl_c_read_write_images))
38+
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300) && defined(__opencl_c_read_write_images))
3739
void myReadWrite(read_write image1d_t);
3840
#else
3941
void myReadWrite(read_write image1d_t); // expected-error {{access qualifier 'read_write' cannot be used for '__read_write image1d_t' prior to OpenCL C version 2.0 or in version 3.0 and without __opencl_c_read_write_images feature}}
@@ -62,7 +64,7 @@ kernel void k3(img1d_wo img) {
6264
myWrite(img);
6365
}
6466

65-
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300) && defined(__opencl_c_read_write_images))
67+
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300) && defined(__opencl_c_read_write_images))
6668
kernel void k4(img1d_rw img) {
6769
myReadWrite(img);
6870
}
@@ -93,7 +95,7 @@ kernel void k11(read_only write_only image1d_t i){} // expected-error{{multiple
9395

9496
kernel void k12(read_only read_only image1d_t i){} // expected-warning {{duplicate 'read_only' declaration specifier}}
9597

96-
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300) && defined(__opencl_c_read_write_images))
98+
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300) && defined(__opencl_c_read_write_images))
9799
kernel void k13(read_write pipe int i){} // expected-error{{access qualifier 'read_write' cannot be used for 'read_only pipe int'}}
98100
#else
99101
kernel void k13(__read_write image1d_t i){} // expected-error{{access qualifier '__read_write' cannot be used for '__read_write image1d_t' prior to OpenCL C version 2.0 or in version 3.0 and without __opencl_c_read_write_images feature}}
@@ -103,7 +105,7 @@ kernel void k13(__read_write image1d_t i){} // expected-error{{access qualifier
103105
kernel void test_image3d_wo(write_only image3d_t img) {} // expected-error {{use of type '__write_only image3d_t' requires cl_khr_3d_image_writes support}}
104106
#endif
105107

106-
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300) && defined(__opencl_c_read_write_images))
108+
#if (__OPENCL_C_VERSION__ == 200) || ((__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300) && defined(__opencl_c_read_write_images))
107109
kernel void read_write_twice_typedef(read_write img1d_rw i){} // expected-warning {{duplicate 'read_write' declaration specifier}}
108110
// expected-note@-94 {{previously declared 'read_write' here}}
109111
#endif

clang/test/SemaOpenCL/fp64-fp16-options.cl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
// Test with a target not supporting fp64.
77
// RUN: %clang_cc1 %s -cl-std=CL1.0 -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -DNOFP64 -DNOFP16
88
// RUN: %clang_cc1 -cl-std=CL3.0 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -DNOFP64 -DNOFP16
9+
// RUN: %clang_cc1 -cl-std=CL3.1 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -DNOFP64 -DNOFP16
910
// RUN: %clang_cc1 -cl-std=clc++2021 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -DNOFP64 -DNOFP16
1011

1112
// Test with some extensions enabled or disabled by cmd-line args
@@ -21,6 +22,9 @@
2122
// RUN: %clang_cc1 -cl-std=CL3.0 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-all -DNOFP64 -DNOFP16
2223
// RUN: %clang_cc1 -cl-std=CL3.0 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -cl-ext=+all -DFP64
2324
// RUN: %clang_cc1 -cl-std=CL3.0 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -cl-ext=+all,-__opencl_c_fp64,-cl_khr_fp64 -DNOFP64
25+
// RUN: %clang_cc1 -cl-std=CL3.1 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-all -DNOFP64 -DNOFP16
26+
// RUN: %clang_cc1 -cl-std=CL3.1 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -cl-ext=+all -DFP64
27+
// RUN: %clang_cc1 -cl-std=CL3.1 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -cl-ext=+all,-__opencl_c_fp64,-cl_khr_fp64 -DNOFP64
2428
// RUN: %clang_cc1 -cl-std=clc++2021 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-all -DNOFP64 -DNOFP16
2529
// RUN: %clang_cc1 -cl-std=clc++2021 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -cl-ext=+all -DFP64
2630
// RUN: %clang_cc1 -cl-std=clc++2021 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -cl-ext=+all,-__opencl_c_fp64,-cl_khr_fp64 -DNOFP64
@@ -33,6 +37,9 @@
3337
// RUN: %clang_cc1 -cl-std=CL3.0 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,-cl_khr_fp64 -cl-ext=+__opencl_c_fp64,+cl_khr_fp64 -DFP64
3438
// RUN: %clang_cc1 -cl-std=CL3.0 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,+__opencl_c_fp64,+cl_khr_fp64 -DFP64
3539
// RUN: %clang_cc1 -cl-std=CL3.0 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,-cl_khr_fp64 -DNOFP64
40+
// RUN: %clang_cc1 -cl-std=CL3.1 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,-cl_khr_fp64 -cl-ext=+__opencl_c_fp64,+cl_khr_fp64 -DFP64
41+
// RUN: %clang_cc1 -cl-std=CL3.1 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,+__opencl_c_fp64,+cl_khr_fp64 -DFP64
42+
// RUN: %clang_cc1 -cl-std=CL3.1 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,-cl_khr_fp64 -DNOFP64
3643
// RUN: %clang_cc1 -cl-std=clc++2021 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,-cl_khr_fp64 -cl-ext=+__opencl_c_fp64,+cl_khr_fp64 -DFP64
3744
// RUN: %clang_cc1 -cl-std=clc++2021 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,+__opencl_c_fp64,+cl_khr_fp64 -DFP64
3845
// RUN: %clang_cc1 -cl-std=clc++2021 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-ext=-__opencl_c_fp64,-cl_khr_fp64 -DNOFP64

clang/test/SemaOpenCL/storageclass.cl

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL3.0 -cl-ext=-all,+__opencl_c_program_scope_global_variables,+__cl_clang_function_scope_local_variables
44
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL3.0 -cl-ext=-all,+__opencl_c_generic_address_space,+__cl_clang_function_scope_local_variables
55
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL3.0 -cl-ext=-all,+__opencl_c_program_scope_global_variables,+__opencl_c_generic_address_space,+__cl_clang_function_scope_local_variables
6+
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL3.1 -cl-ext=-all,+__cl_clang_function_scope_local_variables
7+
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL3.1 -cl-ext=-all,+__opencl_c_program_scope_global_variables,+__cl_clang_function_scope_local_variables
8+
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL3.1 -cl-ext=-all,+__opencl_c_generic_address_space,+__cl_clang_function_scope_local_variables
9+
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL3.1 -cl-ext=-all,+__opencl_c_program_scope_global_variables,+__opencl_c_generic_address_space,+__cl_clang_function_scope_local_variables
610
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=clc++2021 -cl-ext=-all,+__cl_clang_function_scope_local_variables
711
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=clc++2021 -cl-ext=-all,+__opencl_c_program_scope_global_variables,+__cl_clang_function_scope_local_variables
812
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=clc++2021 -cl-ext=-all,+__opencl_c_generic_address_space,+__cl_clang_function_scope_local_variables
@@ -50,10 +54,10 @@ static generic float g_generic_static_var = 0;
5054
#if (defined(__OPENCL_C_VERSION__) && __OPENCL_C_VERSION__ < 300)
5155
// expected-error@-2 {{OpenCL C version 1.2 does not support the 'generic' type qualifier}}
5256
// expected-error@-3 {{program scope variable must reside in constant address space}}
53-
#elif (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300)
57+
#elif (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300)
5458
#if !defined(__opencl_c_generic_address_space)
55-
#if (__OPENCL_C_VERSION__ == 300)
56-
// expected-error@-7 {{OpenCL C version 3.0 does not support the 'generic' type qualifier}}
59+
#if (__OPENCL_C_VERSION__ >= 300)
60+
// expected-error-re@-7 {{OpenCL C version {{3.0|3.1}} does not support the 'generic' type qualifier}}
5761
#elif (__OPENCL_CPP_VERSION__ == 202100)
5862
// expected-error@-9 {{C++ for OpenCL version 2021 does not support the 'generic' type qualifier}}
5963
#endif
@@ -96,10 +100,10 @@ extern generic float g_generic_extern_var;
96100
#if (defined(__OPENCL_C_VERSION__) && __OPENCL_C_VERSION__ < 300)
97101
// expected-error@-2 {{OpenCL C version 1.2 does not support the 'generic' type qualifier}}
98102
// expected-error@-3 {{extern variable must reside in constant address space}}
99-
#elif (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300)
103+
#elif (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300)
100104
#if !defined(__opencl_c_generic_address_space)
101-
#if (__OPENCL_C_VERSION__ == 300)
102-
// expected-error@-7 {{OpenCL C version 3.0 does not support the 'generic' type qualifier}}
105+
#if (__OPENCL_C_VERSION__ >= 300)
106+
// expected-error-re@-7 {{OpenCL C version {{3.0|3.1}} does not support the 'generic' type qualifier}}
103107
#elif (__OPENCL_CPP_VERSION__ == 202100)
104108
// expected-error@-9 {{C++ for OpenCL version 2021 does not support the 'generic' type qualifier}}
105109
#endif
@@ -138,7 +142,7 @@ void kernel foo(int x) {
138142
#if (__OPENCL_CPP_VERSION__ == 202100)
139143
// expected-error@-2{{C++ for OpenCL version 2021 does not support the 'auto' storage class specifier}}
140144
#else
141-
// expected-error-re@-4{{OpenCL C version {{1.2|3.0}} does not support the 'auto' storage class specifier}}
145+
// expected-error-re@-4{{OpenCL C version {{1.2|3.0|3.1}} does not support the 'auto' storage class specifier}}
142146
#endif
143147
global int L4; // expected-error{{function scope variable cannot be declared in global address space}}
144148
__attribute__((address_space(100))) int L5; // expected-error{{automatic variable qualified with an invalid address space}}
@@ -208,10 +212,10 @@ void f(void) {
208212
#if (defined(__OPENCL_C_VERSION__) && __OPENCL_C_VERSION__ < 300)
209213
// expected-error@-2 {{OpenCL C version 1.2 does not support the 'generic' type qualifier}}
210214
// expected-error@-3 {{variables in function scope cannot be declared static}}
211-
#elif (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300)
215+
#elif (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300)
212216
#if !defined(__opencl_c_generic_address_space)
213-
#if (__OPENCL_C_VERSION__ == 300)
214-
// expected-error@-7 {{OpenCL C version 3.0 does not support the 'generic' type qualifier}}
217+
#if (__OPENCL_C_VERSION__ >= 300)
218+
// expected-error-re@-7 {{OpenCL C version {{3.0|3.1}} does not support the 'generic' type qualifier}}
215219
#elif (__OPENCL_CPP_VERSION__ == 202100)
216220
// expected-error@-9 {{C++ for OpenCL version 2021 does not support the 'generic' type qualifier}}
217221
#endif
@@ -262,10 +266,10 @@ void f(void) {
262266
#if (defined(__OPENCL_C_VERSION__) && __OPENCL_C_VERSION__ < 300)
263267
// expected-error@-2 {{OpenCL C version 1.2 does not support the 'generic' type qualifier}}
264268
// expected-error@-3 {{extern variable must reside in constant address space}}
265-
#elif (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300)
269+
#elif (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ >= 300)
266270
#if !defined(__opencl_c_generic_address_space)
267-
#if (__OPENCL_C_VERSION__ == 300)
268-
// expected-error@-7 {{OpenCL C version 3.0 does not support the 'generic' type qualifier}}
271+
#if (__OPENCL_C_VERSION__ >= 300)
272+
// expected-error-re@-7 {{OpenCL C version {{3.0|3.1}} does not support the 'generic' type qualifier}}
269273
#elif (__OPENCL_CPP_VERSION__ == 202100 && !defined(__opencl_c_generic_address_space))
270274
// expected-error@-9 {{C++ for OpenCL version 2021 does not support the 'generic' type qualifier}}
271275
#endif

clang/test/SemaOpenCL/unsupported-image.cl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=CL3.0 -cl-ext=-__opencl_c_images,-__opencl_c_read_write_images,-cl_khr_3d_image_writes,-__opencl_c_3d_image_writes %s
22
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=CL3.0 -cl-ext=+__opencl_c_images,+__opencl_c_read_write_images,+cl_khr_3d_image_writes,+__opencl_c_3d_image_writes %s
33
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=CL3.0 -cl-ext=+__opencl_c_images,+__opencl_c_read_write_images,-cl_khr_3d_image_writes,-__opencl_c_3d_image_writes %s
4+
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=CL3.1 -cl-ext=-__opencl_c_images,-__opencl_c_read_write_images,-cl_khr_3d_image_writes,-__opencl_c_3d_image_writes %s
5+
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=CL3.1 -cl-ext=+__opencl_c_images,+__opencl_c_read_write_images,+cl_khr_3d_image_writes,+__opencl_c_3d_image_writes %s
6+
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=CL3.1 -cl-ext=+__opencl_c_images,+__opencl_c_read_write_images,-cl_khr_3d_image_writes,-__opencl_c_3d_image_writes %s
47
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=clc++2021 -cl-ext=-__opencl_c_images,-__opencl_c_read_write_images,-cl_khr_3d_image_writes,-__opencl_c_3d_image_writes %s
58
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=clc++2021 -cl-ext=+__opencl_c_images,+__opencl_c_read_write_images,+cl_khr_3d_image_writes,+__opencl_c_3d_image_writes %s
69
// RUN: %clang_cc1 -triple spir-unknown-unknown -verify -cl-std=clc++2021 -cl-ext=+__opencl_c_images,+__opencl_c_read_write_images,-cl_khr_3d_image_writes,-__opencl_c_3d_image_writes %s

0 commit comments

Comments
 (0)