@@ -696,6 +696,8 @@ namespace clang {
696696 ExpectedStmt VisitCXXFoldExpr (CXXFoldExpr *E);
697697 ExpectedStmt VisitRequiresExpr (RequiresExpr* E);
698698 ExpectedStmt VisitConceptSpecializationExpr (ConceptSpecializationExpr* E);
699+ ExpectedStmt
700+ VisitSubstNonTypeTemplateParmPackExpr (SubstNonTypeTemplateParmPackExpr *E);
699701
700702 // Helper for chaining together multiple imports. If an error is detected,
701703 // subsequent imports will return default constructed nodes, so that failure
@@ -9274,6 +9276,21 @@ ASTNodeImporter::VisitConceptSpecializationExpr(ConceptSpecializationExpr *E) {
92749276 const_cast <ImplicitConceptSpecializationDecl *>(CSD), &Satisfaction);
92759277}
92769278
9279+ ExpectedStmt ASTNodeImporter::VisitSubstNonTypeTemplateParmPackExpr (
9280+ SubstNonTypeTemplateParmPackExpr *E) {
9281+ Error Err = Error::success ();
9282+ auto ToType = importChecked (Err, E->getType ());
9283+ auto ToNameLoc = importChecked (Err, E->getParameterPackLocation ());
9284+ auto ToArgPack = importChecked (Err, E->getArgumentPack ());
9285+ auto ToAssociatedDecl = importChecked (Err, E->getAssociatedDecl ());
9286+ if (Err)
9287+ return std::move (Err);
9288+
9289+ return new (Importer.getToContext ()) SubstNonTypeTemplateParmPackExpr (
9290+ ToType, E->getValueKind (), ToNameLoc, ToArgPack, ToAssociatedDecl,
9291+ E->getIndex (), E->getFinal ());
9292+ }
9293+
92779294Error ASTNodeImporter::ImportOverriddenMethods (CXXMethodDecl *ToMethod,
92789295 CXXMethodDecl *FromMethod) {
92799296 Error ImportErrors = Error::success ();
0 commit comments