[OpenCL] Add clang extension for variadic functions.
authorAnastasia Stulova <anastasia.stulova@arm.com>
Wed, 6 Jan 2021 19:30:04 +0000 (19:30 +0000)
committerAnastasia Stulova <anastasia.stulova@arm.com>
Wed, 6 Jan 2021 20:39:57 +0000 (20:39 +0000)
commit0e874fc014be818a9c6782729f2c8e8273a7a906
treed387ec1624754b058da6cd26c51d4ceeeae22db0
parent4fde2b6a0c080cb2a598383b5850038d67ca6833
[OpenCL] Add clang extension for variadic functions.

With the internal clang extension '__cl_clang_variadic_functions'
variadic functions are accepted by the frontend.

This is not a fully supported vendor/Khronos extension
as it can only be used on targets with variadic prototype
support or in metaprogramming to represent functions with
generic prototype without calling such functions in the
kernel code.

Tags: #clang

Differential Revision: https://reviews.llvm.org/D94027
clang/docs/LanguageExtensions.rst
clang/include/clang/Basic/OpenCLExtensions.def
clang/lib/Basic/Targets/AMDGPU.h
clang/lib/Basic/Targets/NVPTX.h
clang/lib/Sema/SemaType.cpp
clang/test/Misc/amdgcn.languageOptsOpenCL.cl
clang/test/Misc/nvptx.languageOptsOpenCL.cl
clang/test/Misc/r600.languageOptsOpenCL.cl
clang/test/SemaOpenCL/extension-version.cl
clang/test/SemaOpenCL/func.cl