================ @@ -480,6 +480,7 @@ following requirements. * Is not a C variadic function. * Is not a coroutine. * Is not defined as deleted or as defaulted. +* Is not defined with a function try block. ---------------- tahonermann wrote:
The SYCL specification isn't relevant here as `sycl_kernel_entry_point` attributed functions are implementation detail. This doesn't preclude a SYCL kernel having a call operator with a _function-try-block_. The SYCL 2020 specification doesn't implicitly or explicitly acknowledge the existence of such things; all it has to say is "Exception-handling cannot be used inside a device function" ([section 5.4, "Language restrictions for device functions"](https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#sec:language.restrictions.kernels)). I find it unclear whether that means that exceptions can't be thrown (on pain of UB?) or whether try-blocks and throw expressions are syntactically prohibited. I opened an issue regarding this against the SYCL specification last year (https://github.com/KhronosGroup/SYCL-Docs/issues/543), but, again, it isn't relevant for this. https://github.com/llvm/llvm-project/pull/122379 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits