================
@@ -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