Skip to content

Commit f85d03c

Browse files
authored
[NFC][Clang] Adopt simplified getTrailingObjects in Decl/StmtOpenACC (#140087)
Adopt non-templated and array-ref returning forms of `getTrailingObjects` in DeclOpenACC and StmtOpenACC. Also use std::uninitialized_contruct_n to make the code a little concise.
1 parent 3b93122 commit f85d03c

File tree

4 files changed

+67
-124
lines changed

4 files changed

+67
-124
lines changed

clang/include/clang/AST/DeclOpenACC.h

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,8 @@ class OpenACCDeclareDecl final
7373

7474
OpenACCDeclareDecl(unsigned NumClauses)
7575
: OpenACCConstructDecl(OpenACCDeclare) {
76-
std::uninitialized_value_construct(
77-
getTrailingObjects<const OpenACCClause *>(),
78-
getTrailingObjects<const OpenACCClause *>() + NumClauses);
79-
setClauseList(getTrailingObjects<const OpenACCClause *>(NumClauses));
76+
std::uninitialized_value_construct_n(getTrailingObjects(), NumClauses);
77+
setClauseList(getTrailingObjects(NumClauses));
8078
}
8179

8280
OpenACCDeclareDecl(DeclContext *DC, SourceLocation StartLoc,
@@ -85,10 +83,9 @@ class OpenACCDeclareDecl final
8583
: OpenACCConstructDecl(OpenACCDeclare, DC, OpenACCDirectiveKind::Declare,
8684
StartLoc, DirLoc, EndLoc) {
8785
// Initialize the trailing storage.
88-
llvm::uninitialized_copy(Clauses,
89-
getTrailingObjects<const OpenACCClause *>());
86+
llvm::uninitialized_copy(Clauses, getTrailingObjects());
9087

91-
setClauseList(getTrailingObjects<const OpenACCClause *>(Clauses.size()));
88+
setClauseList(getTrailingObjects(Clauses.size()));
9289
}
9390

9491
public:
@@ -117,10 +114,8 @@ class OpenACCRoutineDecl final
117114

118115
OpenACCRoutineDecl(unsigned NumClauses)
119116
: OpenACCConstructDecl(OpenACCRoutine) {
120-
std::uninitialized_value_construct(
121-
getTrailingObjects<const OpenACCClause *>(),
122-
getTrailingObjects<const OpenACCClause *>() + NumClauses);
123-
setClauseList(getTrailingObjects<const OpenACCClause *>(NumClauses));
117+
std::uninitialized_value_construct_n(getTrailingObjects(), NumClauses);
118+
setClauseList(getTrailingObjects(NumClauses));
124119
}
125120

126121
OpenACCRoutineDecl(DeclContext *DC, SourceLocation StartLoc,
@@ -134,9 +129,8 @@ class OpenACCRoutineDecl final
134129
assert(LParenLoc.isValid() &&
135130
"Cannot represent implicit name with this declaration");
136131
// Initialize the trailing storage.
137-
llvm::uninitialized_copy(Clauses,
138-
getTrailingObjects<const OpenACCClause *>());
139-
setClauseList(getTrailingObjects<const OpenACCClause *>(Clauses.size()));
132+
llvm::uninitialized_copy(Clauses, getTrailingObjects());
133+
setClauseList(getTrailingObjects(Clauses.size()));
140134
}
141135

142136
public:

0 commit comments

Comments
 (0)