From dd18729b2a7a23b76b8d74fbf4f4bb4efbe8aa97 Mon Sep 17 00:00:00 2001 From: Alexey Bader Date: Tue, 21 Jan 2020 14:43:18 +0300 Subject: [PATCH] [Attr][Doc][NFC] Fix code snippet formatting for attribute documentation Reviewers: aaron.ballman, Fznamznon Subscribers: ebevhan, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73104 --- clang/include/clang/Basic/AttrDocs.td | 43 ++++++++++++++------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td index 456edd1daafc..8fd59a0c9b38 100644 --- a/clang/include/clang/Basic/AttrDocs.td +++ b/clang/include/clang/Basic/AttrDocs.td @@ -260,6 +260,7 @@ The ``sycl_kernel`` attribute specifies that a function template will be used to outline device code and to generate an OpenCL kernel. Here is a code example of the SYCL program, which demonstrates the compiler's outlining job: + .. code-block:: c++ int foo(int x) { return ++x; } @@ -282,27 +283,29 @@ compilation of functions for the device part can be found in the SYCL 1.2.1 specification Section 6.4. To show to the compiler entry point to the "device part" of the code, the SYCL runtime can use the ``sycl_kernel`` attribute in the following way: -.. code-block:: c++ -namespace cl { -namespace sycl { -class handler { - template - __attribute__((sycl_kernel)) void sycl_kernel_function(KernelType KernelFuncObj) { - // ... - KernelFuncObj(); - } - template - void parallel_for(range NumWorkItems, KernelType KernelFunc) { -#ifdef __SYCL_DEVICE_ONLY__ - sycl_kernel_function(KernelFunc); -#else - // Host implementation -#endif - } -}; -} // namespace sycl -} // namespace cl +.. code-block:: c++ + + namespace cl { + namespace sycl { + class handler { + template + __attribute__((sycl_kernel)) void sycl_kernel_function(KernelType KernelFuncObj) { + // ... + KernelFuncObj(); + } + + template + void parallel_for(range NumWorkItems, KernelType KernelFunc) { + #ifdef __SYCL_DEVICE_ONLY__ + sycl_kernel_function(KernelFunc); + #else + // Host implementation + #endif + } + }; + } // namespace sycl + } // namespace cl The compiler will also generate an OpenCL kernel using the function marked with the ``sycl_kernel`` attribute.