================ @@ -455,6 +455,64 @@ The SYCL kernel in the previous code sample meets these expectations. }]; } +def SYCLKernelEntryPointDocs : Documentation { + let Category = DocCatFunction; + let Content = [{ +The ``sycl_kernel_entry_point`` attribute specifies that a function definition +defines a pattern for an offload kernel entry point function to be emitted when +the source code is compiled with ``-fsycl`` for a device target. Such functions +serve as the execution entry point for a SYCL run-time library to invoke a SYCL +kernel on a device. The function's parameters define the parameters to the +offload kernel. + +The attribute requires a single type argument that specifies a class type that +meets the requirements for a SYCL kernel name as described in section 5.2, +"Naming of kernels", of the SYCL 2020 specification. A unique kernel name type +is required for each function declared with the attribute. The attribute may +not first appear on a declaration that follows a definition of the function. + +The attribute appertains only to non-member functions and static member ---------------- tahonermann wrote:
I reworded by moving the restriction on non-static member functions into the bullet list. I also added constructors and destructors. Historically, lambdas would be prohibited by the restrictions against non-static member functions. We now have lambda expressions that produce a closure type with a static fiunction call operator. I think those should be ok. https://github.com/llvm/llvm-project/pull/111389 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits