Skip to content

Commit 3f343d7

Browse files
Code review
Skip null check in VisitPseudoObjectExpr Fix bad naming in VisitConceptSpecializationExpr Simplify test for ImportCXXParenListInitExpr
1 parent 2194a6a commit 3f343d7

File tree

2 files changed

+9
-16
lines changed

2 files changed

+9
-16
lines changed

clang/lib/AST/ASTImporter.cpp

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9282,30 +9282,26 @@ ExpectedStmt ASTNodeImporter::VisitSubstNonTypeTemplateParmPackExpr(
92829282
SubstNonTypeTemplateParmPackExpr *E) {
92839283
Error Err = Error::success();
92849284
auto ToType = importChecked(Err, E->getType());
9285-
auto ToNameLoc = importChecked(Err, E->getParameterPackLocation());
9285+
auto ToPackLoc = importChecked(Err, E->getParameterPackLocation());
92869286
auto ToArgPack = importChecked(Err, E->getArgumentPack());
92879287
auto ToAssociatedDecl = importChecked(Err, E->getAssociatedDecl());
92889288
if (Err)
92899289
return std::move(Err);
92909290

92919291
return new (Importer.getToContext()) SubstNonTypeTemplateParmPackExpr(
9292-
ToType, E->getValueKind(), ToNameLoc, ToArgPack, ToAssociatedDecl,
9292+
ToType, E->getValueKind(), ToPackLoc, ToArgPack, ToAssociatedDecl,
92939293
E->getIndex(), E->getFinal());
92949294
}
92959295

92969296
ExpectedStmt ASTNodeImporter::VisitPseudoObjectExpr(PseudoObjectExpr *E) {
92979297
SmallVector<Expr *, 4> ToSemantics(E->getNumSemanticExprs());
92989298
if (Error Err = ImportContainerChecked(E->semantics(), ToSemantics))
92999299
return std::move(Err);
9300-
Expr *ToSynt = nullptr;
9301-
if (const Expr *FromSynt = E->getSyntacticForm()) {
9302-
if (auto ToSyntOrErr = import(FromSynt))
9303-
ToSynt = *ToSyntOrErr;
9304-
else
9305-
return ToSyntOrErr.takeError();
9306-
}
9307-
return PseudoObjectExpr::Create(Importer.getToContext(), ToSynt, ToSemantics,
9308-
E->getResultExprIndex());
9300+
auto ToSyntOrErr = import(E->getSyntacticForm());
9301+
if (!ToSyntOrErr)
9302+
return ToSyntOrErr.takeError();
9303+
return PseudoObjectExpr::Create(Importer.getToContext(), *ToSyntOrErr,
9304+
ToSemantics, E->getResultExprIndex());
93099305
}
93109306

93119307
ExpectedStmt

clang/unittests/AST/ASTImporterTest.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3323,13 +3323,10 @@ TEST_P(ImportExpr, ImportCXXParenListInitExpr) {
33233323
int val;
33243324
double d;
33253325
};
3326-
template <int N> struct Container {
3327-
Node* create() { return new Node(N, 3.14); }
3328-
};
3329-
using declToImport = Container<42>;
3326+
Node* declToImport() { return new Node(2, 3.14); }
33303327
)";
33313328
testImport(Code, Lang_CXX20, "", Lang_CXX20, Verifier,
3332-
typedefNameDecl(hasName("declToImport")));
3329+
functionDecl(hasName("declToImport")));
33333330
}
33343331

33353332
TEST_P(ImportExpr, ImportPseudoObjectExpr) {

0 commit comments

Comments
 (0)