================
@@ -565,73 +566,84 @@ follows.
 
   namespace sycl {
   class handler {
-    template<typename KernelNameType, typename KernelType>
-    [[ clang::sycl_kernel_entry_point(KernelNameType) ]]
-    static void kernel_entry_point(KernelType kernel) {
-      kernel();
+    template<typename KernelName, typename... Ts>
+    void sycl_kernel_launch(const char* kernelSymbol, Ts&&... kernelArgs) {
----------------
bader wrote:

@tahonermann, I have a concern about potential naming conflicts with the 
`handler::sycl_kernel_launch` template name. While the `sycl_` prefix makes it 
unlikely, there's a theoretical risk that a future SYCL specification could 
define a symbol with the same name but different semantics, which could lead to 
compatibility issues.

Should we consider using a reserved identifier (e.g., `__sycl_kernel_launch`) 
to eliminate this risk? This would follow the convention of using double 
underscores for implementation-specific identifiers that won't conflict with 
user code or future standard additions.

What's your take on the trade-off between namespace safety and identifier 
readability here?

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