[clang] [SYCL] AST support for SYCL kernel entry point functions. (PR #122379)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 10 09:50:04 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>) {
----------------
erichkeane wrote:
This function isn't required/needed/used when there is only 1 trailing object type.
https://github.com/llvm/llvm-project/pull/122379
More information about the cfe-commits
mailing list