[clang] [clang][HIP] Normalize __cdecl on abstract function types to the device default CC on amdgcnspirv (PR #210882)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 11 15:05:28 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 &&
----------------
schittir wrote:
Could the thiscall virtual-override case from https://github.com/llvm/llvm-project/pull/210882#discussion_r3620440336 get a test too?
https://github.com/llvm/llvm-project/pull/210882
More information about the cfe-commits
mailing list