Skip to content

Commit 7acc88b

Browse files
committed
[OpenCL] Reword unknown extension pragma diagnostic
For newer OpenCL extensions that do not require a pragma, such as `cl_khr_subgroup_shuffle`, a user could still accidentally attempt to use a pragma. This would result in a warning "unknown OpenCL extension 'cl_khr_subgroup_shuffle' - ignoring" which could be mistakenly interpreted as "clang does not support this extension at all" instead of "clang does not require any pragma for this extension". Differential Revision: https://reviews.llvm.org/D126660
1 parent 4fd5614 commit 7acc88b

File tree

5 files changed

+29
-29
lines changed

5 files changed

+29
-29
lines changed

clang/include/clang/Basic/DiagnosticParseKinds.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1278,7 +1278,7 @@ def warn_pragma_expected_colon : Warning<
12781278
def warn_pragma_expected_predicate : Warning<
12791279
"expected %select{'enable', 'disable', 'begin' or 'end'|'disable'}0 - ignoring">, InGroup<IgnoredPragmas>;
12801280
def warn_pragma_unknown_extension : Warning<
1281-
"unknown OpenCL extension %0 - ignoring">, InGroup<IgnoredPragmas>;
1281+
"OpenCL extension %0 unknown or does not require pragma - ignoring">, InGroup<IgnoredPragmas>;
12821282
def warn_pragma_unsupported_extension : Warning<
12831283
"unsupported OpenCL extension %0 - ignoring">, InGroup<IgnoredPragmas>;
12841284
def warn_pragma_extension_is_core : Warning<

clang/test/Headers/opencl-c-header.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ global atomic_int z = ATOMIC_VAR_INIT(99);
100100
#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
101101
// expected-no-diagnostics
102102
#else //__OPENCL_C_VERSION__
103-
// expected-warning@+2{{unknown OpenCL extension 'cl_intel_planar_yuv' - ignoring}}
103+
// expected-warning@+2{{OpenCL extension 'cl_intel_planar_yuv' unknown or does not require pragma - ignoring}}
104104
#endif //__OPENCL_C_VERSION__
105105
#pragma OPENCL EXTENSION cl_intel_planar_yuv : enable
106106

clang/test/Parser/opencl-pragma.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
44

5-
#pragma OPENCL EXTENSION cl_no_such_extension : disable /* expected-warning {{unknown OpenCL extension 'cl_no_such_extension' - ignoring}} */
5+
#pragma OPENCL EXTENSION cl_no_such_extension : disable /* expected-warning {{OpenCL extension 'cl_no_such_extension' unknown or does not require pragma - ignoring}} */
66

77
#pragma OPENCL EXTENSION all : disable
88
#pragma OPENCL EXTENSION all : enable /* expected-warning {{expected 'disable' - ignoring}} */

clang/test/SemaOpenCL/extension-begin.cl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818

1919
#pragma OPENCL EXTENSION my_ext : enable
2020
#ifndef IMPLICIT_INCLUDE
21-
// expected-warning@-2 {{unknown OpenCL extension 'my_ext' - ignoring}}
22-
// expected-warning@+2 {{unknown OpenCL extension 'my_ext' - ignoring}}
21+
// expected-warning@-2 {{OpenCL extension 'my_ext' unknown or does not require pragma - ignoring}}
22+
// expected-warning@+2 {{OpenCL extension 'my_ext' unknown or does not require pragma - ignoring}}
2323
#endif // IMPLICIT_INCLUDE
2424
#pragma OPENCL EXTENSION my_ext : disable
2525

clang/test/SemaOpenCL/extension-version.cl

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -217,51 +217,51 @@
217217
// Check that pragmas for the OpenCL 3.0 features are rejected.
218218

219219
#pragma OPENCL EXTENSION __opencl_c_int64 : disable
220-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_int64' - ignoring}}
220+
//expected-warning@-1{{OpenCL extension '__opencl_c_int64' unknown or does not require pragma - ignoring}}
221221
#pragma OPENCL EXTENSION __opencl_c_3d_image_writes : disable
222-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_3d_image_writes' - ignoring}}
222+
//expected-warning@-1{{OpenCL extension '__opencl_c_3d_image_writes' unknown or does not require pragma - ignoring}}
223223
#pragma OPENCL EXTENSION __opencl_c_atomic_order_acq_rel : disable
224-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_atomic_order_acq_rel' - ignoring}}
224+
//expected-warning@-1{{OpenCL extension '__opencl_c_atomic_order_acq_rel' unknown or does not require pragma - ignoring}}
225225
#pragma OPENCL EXTENSION __opencl_c_atomic_order_seq_cst : disable
226-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_atomic_order_seq_cst' - ignoring}}
226+
//expected-warning@-1{{OpenCL extension '__opencl_c_atomic_order_seq_cst' unknown or does not require pragma - ignoring}}
227227
#pragma OPENCL EXTENSION __opencl_c_device_enqueue : disable
228-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_device_enqueue' - ignoring}}
228+
//expected-warning@-1{{OpenCL extension '__opencl_c_device_enqueue' unknown or does not require pragma - ignoring}}
229229
#pragma OPENCL EXTENSION __opencl_c_fp64 : disable
230-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_fp64' - ignoring}}
230+
//expected-warning@-1{{OpenCL extension '__opencl_c_fp64' unknown or does not require pragma - ignoring}}
231231
#pragma OPENCL EXTENSION __opencl_c_generic_address_space : disable
232-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_generic_address_space' - ignoring}}
232+
//expected-warning@-1{{OpenCL extension '__opencl_c_generic_address_space' unknown or does not require pragma - ignoring}}
233233
#pragma OPENCL EXTENSION __opencl_c_images : disable
234-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_images' - ignoring}}
234+
//expected-warning@-1{{OpenCL extension '__opencl_c_images' unknown or does not require pragma - ignoring}}
235235
#pragma OPENCL EXTENSION __opencl_c_pipes : disable
236-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_pipes' - ignoring}}
236+
//expected-warning@-1{{OpenCL extension '__opencl_c_pipes' unknown or does not require pragma - ignoring}}
237237
#pragma OPENCL EXTENSION __opencl_c_program_scope_global_variables : disable
238-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_program_scope_global_variables' - ignoring}}
238+
//expected-warning@-1{{OpenCL extension '__opencl_c_program_scope_global_variables' unknown or does not require pragma - ignoring}}
239239
#pragma OPENCL EXTENSION __opencl_c_read_write_images : disable
240-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_read_write_images' - ignoring}}
240+
//expected-warning@-1{{OpenCL extension '__opencl_c_read_write_images' unknown or does not require pragma - ignoring}}
241241
#pragma OPENCL EXTENSION __opencl_c_subgroups : disable
242-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_subgroups' - ignoring}}
242+
//expected-warning@-1{{OpenCL extension '__opencl_c_subgroups' unknown or does not require pragma - ignoring}}
243243

244244
#pragma OPENCL EXTENSION __opencl_c_int64 : enable
245-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_int64' - ignoring}}
245+
//expected-warning@-1{{OpenCL extension '__opencl_c_int64' unknown or does not require pragma - ignoring}}
246246
#pragma OPENCL EXTENSION __opencl_c_3d_image_writes : enable
247-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_3d_image_writes' - ignoring}}
247+
//expected-warning@-1{{OpenCL extension '__opencl_c_3d_image_writes' unknown or does not require pragma - ignoring}}
248248
#pragma OPENCL EXTENSION __opencl_c_atomic_order_acq_rel : enable
249-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_atomic_order_acq_rel' - ignoring}}
249+
//expected-warning@-1{{OpenCL extension '__opencl_c_atomic_order_acq_rel' unknown or does not require pragma - ignoring}}
250250
#pragma OPENCL EXTENSION __opencl_c_atomic_order_seq_cst : enable
251-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_atomic_order_seq_cst' - ignoring}}
251+
//expected-warning@-1{{OpenCL extension '__opencl_c_atomic_order_seq_cst' unknown or does not require pragma - ignoring}}
252252
#pragma OPENCL EXTENSION __opencl_c_device_enqueue : enable
253-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_device_enqueue' - ignoring}}
253+
//expected-warning@-1{{OpenCL extension '__opencl_c_device_enqueue' unknown or does not require pragma - ignoring}}
254254
#pragma OPENCL EXTENSION __opencl_c_fp64 : enable
255-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_fp64' - ignoring}}
255+
//expected-warning@-1{{OpenCL extension '__opencl_c_fp64' unknown or does not require pragma - ignoring}}
256256
#pragma OPENCL EXTENSION __opencl_c_generic_address_space : enable
257-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_generic_address_space' - ignoring}}
257+
//expected-warning@-1{{OpenCL extension '__opencl_c_generic_address_space' unknown or does not require pragma - ignoring}}
258258
#pragma OPENCL EXTENSION __opencl_c_images : enable
259-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_images' - ignoring}}
259+
//expected-warning@-1{{OpenCL extension '__opencl_c_images' unknown or does not require pragma - ignoring}}
260260
#pragma OPENCL EXTENSION __opencl_c_pipes : enable
261-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_pipes' - ignoring}}
261+
//expected-warning@-1{{OpenCL extension '__opencl_c_pipes' unknown or does not require pragma - ignoring}}
262262
#pragma OPENCL EXTENSION __opencl_c_program_scope_global_variables : enable
263-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_program_scope_global_variables' - ignoring}}
263+
//expected-warning@-1{{OpenCL extension '__opencl_c_program_scope_global_variables' unknown or does not require pragma - ignoring}}
264264
#pragma OPENCL EXTENSION __opencl_c_read_write_images : enable
265-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_read_write_images' - ignoring}}
265+
//expected-warning@-1{{OpenCL extension '__opencl_c_read_write_images' unknown or does not require pragma - ignoring}}
266266
#pragma OPENCL EXTENSION __opencl_c_subgroups : enable
267-
//expected-warning@-1{{unknown OpenCL extension '__opencl_c_subgroups' - ignoring}}
267+
//expected-warning@-1{{OpenCL extension '__opencl_c_subgroups' unknown or does not require pragma - ignoring}}

0 commit comments

Comments
 (0)