[clang] [SYCL] AST support for SYCL kernel entry point functions. (PR #122379)

Tom Honermann via cfe-commits cfe-commits at lists.llvm.org
Sat Jan 18 20:09:37 PST 2025


================
@@ -4678,6 +4678,95 @@ class BlockDecl : public Decl, public DeclContext {
   }
 };
 
+/// Represents a partial function definition.
+///
+/// An outlined function declaration contains the parameters and body of
+/// a function independent of other function definition concerns such
+/// as function name, type, and calling convention. Such declarations may
+/// be used to hold a parameterized and transformed sequence of statements
+/// used to generate a target dependent function definition without losing
+/// association with the original statements. See SYCLKernelCallStmt as an
+/// example.
+class OutlinedFunctionDecl final
+    : public Decl,
+      public DeclContext,
+      private llvm::TrailingObjects<OutlinedFunctionDecl, ImplicitParamDecl *> {
+protected:
+  size_t numTrailingObjects(OverloadToken<ImplicitParamDecl>) {
----------------
tahonermann wrote:

Unneeded `numTrailingObjects()` member removed. Done.

https://github.com/llvm/llvm-project/pull/122379


More information about the cfe-commits mailing list