================
@@ -837,23 +837,43 @@ class OpenACCClauseWithVarList : public
OpenACCClauseWithExprs {
class OpenACCPrivateClause final
: public OpenACCClauseWithVarList,
- private llvm::TrailingObjects<OpenACCPrivateClause, Expr *> {
+ private llvm::TrailingObjects<OpenACCPrivateClause, Expr *, VarDecl *> {
friend TrailingObjects;
OpenACCPrivateClause(SourceLocation BeginLoc, SourceLocation LParenLoc,
- ArrayRef<Expr *> VarList, SourceLocation EndLoc)
+ ArrayRef<Expr *> VarList,
+ ArrayRef<VarDecl *> InitRecipes, SourceLocation EndLoc)
: OpenACCClauseWithVarList(OpenACCClauseKind::Private, BeginLoc,
LParenLoc, EndLoc) {
- setExprs(getTrailingObjects(VarList.size()), VarList);
+ assert(VarList.size() == InitRecipes.size());
+ setExprs(getTrailingObjects<Expr *>(VarList.size()), VarList);
+ llvm::uninitialized_copy(InitRecipes, getTrailingObjects<VarDecl *>());
----------------
andykaylor wrote:
Why not `std::uninitialized_copy`?
https://github.com/llvm/llvm-project/pull/151781
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits