================
@@ -387,8 +397,162 @@ void 
SemaSYCL::CheckSYCLEntryPointFunctionDecl(FunctionDecl *FD) {
   }
 }
 
+ExprResult SemaSYCL::BuildSYCLKernelLaunchIdExpr(FunctionDecl *FD,
+                                                 QualType KNT) {
+  // The current context must be the function definition context to ensure
+  // that name lookup is performed within the correct scope.
+  assert(SemaRef.CurContext == FD);
+
+  // An appropriate source location is required to emit diagnostics if
----------------
tahonermann wrote:

I did come across one case where a source location was being passed to indicate 
the presence of a `template` keyword used as a disambiguator. In that case, 
passing a source location resulted in a spurious diagnostic (see 
[here](https://github.com/llvm/llvm-project/blob/4abaf068067c7870005c29a09f2be991a156ed3e/clang/test/SemaSYCL/sycl-host-kernel-launch.cpp#L23)).
 I addressed this by (intentionally) passing an invalid source location since 
the synthesized call expression has no need to reflect use of `template` as a 
disambiguator.

https://github.com/llvm/llvm-project/pull/152403
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to