[clang] [clang][SYCL] Add sycl_external attribute and restrict emitting device code (PR #140282)

Tom Honermann via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 7 14:14:10 PDT 2025


================
@@ -12251,6 +12264,9 @@ bool Sema::CheckFunctionDeclaration(Scope *S, FunctionDecl *NewFD,
   if (NewFD->hasAttr<SYCLKernelEntryPointAttr>())
     SYCL().CheckSYCLEntryPointFunctionDecl(NewFD);
 
+  if (NewFD->hasAttr<SYCLExternalAttr>())
+    SYCL().CheckSYCLExternalFunctionDecl(NewFD);
----------------
tahonermann wrote:

@schittir and I discussed this and looked at some code together. Her checks for `TSK_ImplicitInstantiation` look right to me, but don't seem to be excluding explicit specializations and explicit instantiations for some reason. I'm fine with addressing this in a follow up PR if everyone else is. We'll likely need to do some debugging to really figure out what is going wrong.

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


More information about the cfe-commits mailing list