diff options
Diffstat (limited to 'clang/lib/AST/StmtOpenACC.cpp')
-rw-r--r-- | clang/lib/AST/StmtOpenACC.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/lib/AST/StmtOpenACC.cpp b/clang/lib/AST/StmtOpenACC.cpp index 889573f..2b0ac71 100644 --- a/clang/lib/AST/StmtOpenACC.cpp +++ b/clang/lib/AST/StmtOpenACC.cpp @@ -284,3 +284,24 @@ OpenACCSetConstruct::Create(const ASTContext &C, SourceLocation Start, auto *Inst = new (Mem) OpenACCSetConstruct(Start, DirectiveLoc, End, Clauses); return Inst; } + +OpenACCUpdateConstruct * +OpenACCUpdateConstruct::CreateEmpty(const ASTContext &C, unsigned NumClauses) { + void *Mem = C.Allocate( + OpenACCUpdateConstruct::totalSizeToAlloc<const OpenACCClause *>( + NumClauses)); + auto *Inst = new (Mem) OpenACCUpdateConstruct(NumClauses); + return Inst; +} + +OpenACCUpdateConstruct * +OpenACCUpdateConstruct::Create(const ASTContext &C, SourceLocation Start, + SourceLocation DirectiveLoc, SourceLocation End, + ArrayRef<const OpenACCClause *> Clauses) { + void *Mem = C.Allocate( + OpenACCUpdateConstruct::totalSizeToAlloc<const OpenACCClause *>( + Clauses.size())); + auto *Inst = + new (Mem) OpenACCUpdateConstruct(Start, DirectiveLoc, End, Clauses); + return Inst; +} |