[clang] [clang][SPIR-V] Use the C calling convention as the target default (PR #210882)

Tom Honermann via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 13 07:30:32 PDT 2026


================
@@ -8349,6 +8349,19 @@ static bool handleFunctionTypeAttr(TypeProcessingState &state, ParsedAttr &attr,
     return true;
 
   const FunctionType *fn = unwrapped.get();
+
+  // On amdgcnspirv, __cdecl on an abstract function type has no device-side
+  // equivalent, so normalize it to the device default CC to match an
+  // unadorned function type. Skip named decls and variadic types.
+  if (CC == CC_C && S.getLangOpts().CUDAIsDevice &&
----------------
tahonermann wrote:

Sorry for the delay following up on this. I've been fighting the LLVM build system; it took me two days to get a successful Windows build.

These changes worked great for my testing. Thank you so much for taking this on!

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


More information about the cfe-commits mailing list