[clang] c0cc81c - [NFC][Clang] Adopt simplified `getTrailingObjects` in ASTReader (#144438)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 19 09:25:37 PDT 2025
Author: Rahul Joshi
Date: 2025-06-19T09:25:32-07:00
New Revision: c0cc81cdc03c97473ba771bbc3a2330bd22396bc
URL: https://github.com/llvm/llvm-project/commit/c0cc81cdc03c97473ba771bbc3a2330bd22396bc
DIFF: https://github.com/llvm/llvm-project/commit/c0cc81cdc03c97473ba771bbc3a2330bd22396bc.diff
LOG: [NFC][Clang] Adopt simplified `getTrailingObjects` in ASTReader (#144438)
Added:
Modified:
clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTReaderStmt.cpp
Removed:
################################################################################
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp
index 259c772e42225..7f7882654b9d1 100644
--- a/clang/lib/Serialization/ASTReaderDecl.cpp
+++ b/clang/lib/Serialization/ASTReaderDecl.cpp
@@ -664,22 +664,21 @@ void ASTDeclReader::VisitPragmaCommentDecl(PragmaCommentDecl *D) {
D->setLocation(readSourceLocation());
D->CommentKind = (PragmaMSCommentKind)Record.readInt();
std::string Arg = readString();
- memcpy(D->getTrailingObjects<char>(), Arg.data(), Arg.size());
- D->getTrailingObjects<char>()[Arg.size()] = '\0';
+ memcpy(D->getTrailingObjects(), Arg.data(), Arg.size());
+ D->getTrailingObjects()[Arg.size()] = '\0';
}
void ASTDeclReader::VisitPragmaDetectMismatchDecl(PragmaDetectMismatchDecl *D) {
VisitDecl(D);
D->setLocation(readSourceLocation());
std::string Name = readString();
- memcpy(D->getTrailingObjects<char>(), Name.data(), Name.size());
- D->getTrailingObjects<char>()[Name.size()] = '\0';
+ memcpy(D->getTrailingObjects(), Name.data(), Name.size());
+ D->getTrailingObjects()[Name.size()] = '\0';
D->ValueStart = Name.size() + 1;
std::string Value = readString();
- memcpy(D->getTrailingObjects<char>() + D->ValueStart, Value.data(),
- Value.size());
- D->getTrailingObjects<char>()[D->ValueStart + Value.size()] = '\0';
+ memcpy(D->getTrailingObjects() + D->ValueStart, Value.data(), Value.size());
+ D->getTrailingObjects()[D->ValueStart + Value.size()] = '\0';
}
void ASTDeclReader::VisitTranslationUnitDecl(TranslationUnitDecl *TU) {
@@ -1746,7 +1745,7 @@ void ASTDeclReader::VisitParmVarDecl(ParmVarDecl *PD) {
void ASTDeclReader::VisitDecompositionDecl(DecompositionDecl *DD) {
VisitVarDecl(DD);
- auto **BDs = DD->getTrailingObjects<BindingDecl *>();
+ auto **BDs = DD->getTrailingObjects();
for (unsigned I = 0; I != DD->NumBindings; ++I) {
BDs[I] = readDeclAs<BindingDecl>();
BDs[I]->setDecomposedDecl(DD);
@@ -1917,7 +1916,7 @@ void ASTDeclReader::VisitUsingEnumDecl(UsingEnumDecl *D) {
void ASTDeclReader::VisitUsingPackDecl(UsingPackDecl *D) {
VisitNamedDecl(D);
D->InstantiatedFrom = readDeclAs<NamedDecl>();
- auto **Expansions = D->getTrailingObjects<NamedDecl *>();
+ auto **Expansions = D->getTrailingObjects();
for (unsigned I = 0; I != D->NumExpansions; ++I)
Expansions[I] = readDeclAs<NamedDecl>();
mergeMergeable(D);
@@ -2358,7 +2357,7 @@ void ASTDeclReader::VisitImportDecl(ImportDecl *D) {
VisitDecl(D);
D->ImportedModule = readModule();
D->setImportComplete(Record.readInt());
- auto *StoredLocs = D->getTrailingObjects<SourceLocation>();
+ auto *StoredLocs = D->getTrailingObjects();
for (unsigned I = 0, N = Record.back(); I != N; ++I)
StoredLocs[I] = readSourceLocation();
Record.skipInts(1); // The number of stored source locations.
@@ -2376,8 +2375,7 @@ void ASTDeclReader::VisitFriendDecl(FriendDecl *D) {
else
D->Friend = readTypeSourceInfo();
for (unsigned i = 0; i != D->NumTPLists; ++i)
- D->getTrailingObjects<TemplateParameterList *>()[i] =
- Record.readTemplateParameterList();
+ D->getTrailingObjects()[i] = Record.readTemplateParameterList();
D->NextFriend = readDeclID().getRawValue();
D->UnsupportedFriend = (Record.readInt() != 0);
D->FriendLoc = readSourceLocation();
@@ -2745,7 +2743,7 @@ void ASTDeclReader::VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D) {
D->setDepth(Record.readInt());
D->setPosition(Record.readInt());
if (D->isExpandedParameterPack()) {
- auto **Data = D->getTrailingObjects<TemplateParameterList *>();
+ auto **Data = D->getTrailingObjects();
for (unsigned I = 0, N = D->getNumExpansionTemplateParameters();
I != N; ++I)
Data[I] = Record.readTemplateParameterList();
diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp
index 44cfb83ad2db4..8945407cf666e 100644
--- a/clang/lib/Serialization/ASTReaderStmt.cpp
+++ b/clang/lib/Serialization/ASTReaderStmt.cpp
@@ -719,7 +719,7 @@ void ASTStmtReader::VisitParenListExpr(ParenListExpr *E) {
unsigned NumExprs = Record.readInt();
assert((NumExprs == E->getNumExprs()) && "Wrong NumExprs!");
for (unsigned I = 0; I != NumExprs; ++I)
- E->getTrailingObjects<Stmt *>()[I] = Record.readSubStmt();
+ E->getTrailingObjects()[I] = Record.readSubStmt();
E->LParenLoc = readSourceLocation();
E->RParenLoc = readSourceLocation();
}
@@ -1892,7 +1892,7 @@ void ASTStmtReader::VisitCXXDefaultArgExpr(CXXDefaultArgExpr *E) {
E->CXXDefaultArgExprBits.Loc = readSourceLocation();
E->CXXDefaultArgExprBits.HasRewrittenInit = Record.readInt();
if (E->CXXDefaultArgExprBits.HasRewrittenInit)
- *E->getTrailingObjects<Expr *>() = Record.readSubExpr();
+ *E->getTrailingObjects() = Record.readSubExpr();
}
void ASTStmtReader::VisitCXXDefaultInitExpr(CXXDefaultInitExpr *E) {
@@ -1902,7 +1902,7 @@ void ASTStmtReader::VisitCXXDefaultInitExpr(CXXDefaultInitExpr *E) {
E->UsedContext = readDeclAs<DeclContext>();
E->CXXDefaultInitExprBits.Loc = readSourceLocation();
if (E->CXXDefaultInitExprBits.HasRewrittenInit)
- *E->getTrailingObjects<Expr *>() = Record.readSubExpr();
+ *E->getTrailingObjects() = Record.readSubExpr();
}
void ASTStmtReader::VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *E) {
@@ -1999,7 +1999,7 @@ void ASTStmtReader::VisitExprWithCleanups(ExprWithCleanups *E) {
Obj = cast<CompoundLiteralExpr>(Record.readSubExpr());
else
llvm_unreachable("unexpected cleanup object type");
- E->getTrailingObjects<ExprWithCleanups::CleanupObject>()[i] = Obj;
+ E->getTrailingObjects()[i] = Obj;
}
E->ExprWithCleanupsBits.CleanupsHaveSideEffects = Record.readInt();
@@ -2198,9 +2198,8 @@ void ASTStmtReader::VisitSizeOfPackExpr(SizeOfPackExpr *E) {
E->Pack = Record.readDeclAs<NamedDecl>();
if (E->isPartiallySubstituted()) {
assert(E->Length == NumPartialArgs);
- for (auto *I = E->getTrailingObjects<TemplateArgument>(),
- *E = I + NumPartialArgs;
- I != E; ++I)
+ for (auto *I = E->getTrailingObjects(), *E = I + NumPartialArgs; I != E;
+ ++I)
new (I) TemplateArgument(Record.readTemplateArgument());
} else if (!E->isValueDependent()) {
E->Length = Record.readInt();
@@ -2215,7 +2214,7 @@ void ASTStmtReader::VisitPackIndexingExpr(PackIndexingExpr *E) {
E->RSquareLoc = readSourceLocation();
E->SubExprs[0] = Record.readStmt();
E->SubExprs[1] = Record.readStmt();
- auto **Exprs = E->getTrailingObjects<Expr *>();
+ auto **Exprs = E->getTrailingObjects();
for (unsigned I = 0; I < E->PackIndexingExprBits.TransformedExpressions; ++I)
Exprs[I] = Record.readExpr();
}
@@ -2252,7 +2251,7 @@ void ASTStmtReader::VisitFunctionParmPackExpr(FunctionParmPackExpr *E) {
E->NumParameters = Record.readInt();
E->ParamPack = readDeclAs<ValueDecl>();
E->NameLoc = readSourceLocation();
- auto **Parms = E->getTrailingObjects<ValueDecl *>();
+ auto **Parms = E->getTrailingObjects();
for (unsigned i = 0, n = E->NumParameters; i != n; ++i)
Parms[i] = readDeclAs<ValueDecl>();
}
@@ -2289,7 +2288,7 @@ void ASTStmtReader::VisitCXXParenListInitExpr(CXXParenListInitExpr *E) {
E->LParenLoc = readSourceLocation();
E->RParenLoc = readSourceLocation();
for (unsigned I = 0; I < ExpectedNumExprs; I++)
- E->getTrailingObjects<Expr *>()[I] = Record.readSubExpr();
+ E->getTrailingObjects()[I] = Record.readSubExpr();
bool HasArrayFillerOrUnionDecl = Record.readBool();
if (HasArrayFillerOrUnionDecl) {
More information about the cfe-commits
mailing list