[clang] [Clang][OpenCL][AMDGPU] Allow a kernel to call another kernel (PR #115821)

John McCall via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 2 13:11:03 PST 2024


================
@@ -1780,6 +1786,15 @@ void CXXNameMangler::mangleDeviceStubName(const IdentifierInfo *II) {
       << II->getName();
 }
 
+void CXXNameMangler::mangleOCLDeviceStubName(const IdentifierInfo *II) {
+  // <source-name> ::= <positive length number> __clang_ocl_kern_imp_
+  // <identifier> <number> ::= [n] <non-negative decimal integer> <identifier>
+  // ::= <unqualified source code identifier>
+  StringRef OCLDeviceStubNamePrefix = "__clang_ocl_kern_imp_";
----------------
rjmccall wrote:

Well, it's undefined behavior if they do, the same that you can technically define a function in C called `_Z3foov` with a completely different signature from what C++ would expect.  This sort of thing is generally fine as long as we make some effort to avoid unintentional conflicts.

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


More information about the cfe-commits mailing list