[clang] [Clang][OpenCL] Declare cl_amd_media_ops/cl_amd_media_ops2 builtins with -fdeclare-opencl-builtins (PR #143507)

Juan Manuel Martinez CaamaƱo via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 11 06:13:35 PDT 2025


================
@@ -0,0 +1,98 @@
+// RUN: %clang_cc1 %s -triple amdgcn-unknown-unknown -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -finclude-default-header %s
+// RUN: %clang_cc1 %s -triple amdgcn-unknown-unknown -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -finclude-default-header -fdeclare-opencl-builtins %s
+// expected-no-diagnostics
+
----------------
jmmartinez wrote:

I think the feature map is doing 2 things. Assigning `true` to all the supported features may be (one) of the issues here.
If an element is in the map it is supported, and if it is set to true it is enabled.

In our case there is a macro definition for cl_amd_media_ops set to 1. Later, in SemaLookup.cpp InsertOCLBuiltinDeclarationsFromTable checks only for macro definitions (and strangely not for extensions defined via macros through the OpenCLOptions class).

https://github.com/llvm/llvm-project/pull/143507


More information about the cfe-commits mailing list