[OpenCL] Supports optional generic address space semantics in C++ for OpenCL 2021
authorJustas Janickas <Justas.Janickas@arm.com>
Wed, 1 Sep 2021 08:14:07 +0000 (09:14 +0100)
committerJustas Janickas <Justas.Janickas@arm.com>
Mon, 6 Sep 2021 09:20:38 +0000 (10:20 +0100)
commitcc9260a0fb7c42ac8a8bb87eac1e11900c25ed20
treeb13cba9f38dcb86c85550ff342ca5f8e36428acd
parent2706b1a6e2dfe79a5c17c7d6f99401d386a9355b
[OpenCL] Supports optional generic address space semantics in C++ for OpenCL 2021

Adds support for a feature macro `__opencl_c_generic_adress_space`
in C++ for OpenCL 2021 enabling a respective optional core feature
from OpenCL 3.0. Testing is only performed in SemaOpenCL because
generic address space functionality is yet to be implemented in
C++ for OpenCL 2021.

This change aims to achieve compatibility between C++ for OpenCL
2021 and OpenCL 3.0.

Differential Revision: https://reviews.llvm.org/D108461
clang/lib/Basic/TargetInfo.cpp
clang/test/SemaOpenCL/address-spaces-conversions-cl2.0.cl
clang/test/SemaOpenCL/address-spaces.cl