================
@@ -155,3 +155,11 @@
 #endif
 #pragma OPENCL EXTENSION cl_amd_media_ops2: enable
 
+#if (__OPENCL_C_VERSION__ >= 300)
----------------
frasercrmck wrote:

My reading of the specification is that OpenCL 2.0 has the "generic address 
space" capability available by default, but not the 
`__opencl_c_generic_address_space` _feature_ (it's just automatically on). 
OpenCL 3.0 has the optional `__opencl_c_generic_address_space` feature which is 
not on by default.

See 
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_C.html#the-generic-address-space.
 All of the wording surrounding the generic address space is, e.g., `If the 
generic address space is supported i.e. for OpenCL C 2.0 or OpenCL C 3.0 with 
__opencl_c_generic_address_space feature [...]`.

Looking at `opencl-c-base.h`, my guess is that we are defining the 
`__opencl_c_generic_address_space` feature on by default for OpenCL 2.0. That's 
non-standard, but it means there's a simpler internal way of checking for the 
feature's availability. Regardless, that header isn't available to this 
particular test - this is just using internal compiler defines, and there's no 
`__opencl_c_generic_address_space` defined by clang for OpenCL 2.0. I think 
that's the correct behaviour.

https://github.com/llvm/llvm-project/pull/137636
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to