@@ -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
@@ -9273,6 +9275,21 @@ ASTNodeImporter::VisitConceptSpecializationExpr(ConceptSpecializationExpr *E) {
92739275 const_cast <ImplicitConceptSpecializationDecl *>(CSD), &Satisfaction);
92749276}
92759277
9278+ ExpectedStmt ASTNodeImporter::VisitSubstNonTypeTemplateParmPackExpr (
9279+ SubstNonTypeTemplateParmPackExpr *E) {
9280+ Error Err = Error::success ();
9281+ auto ToType = importChecked (Err, E->getType ());
9282+ auto ToNameLoc = importChecked (Err, E->getParameterPackLocation ());
9283+ auto ToArgPack = importChecked (Err, E->getArgumentPack ());
9284+ auto ToAssociatedDecl = importChecked (Err, E->getAssociatedDecl ());
9285+ if (Err)
9286+ return std::move (Err);
9287+
9288+ return new (Importer.getToContext ()) SubstNonTypeTemplateParmPackExpr (
9289+ ToType, E->getValueKind (), ToNameLoc, ToArgPack, ToAssociatedDecl,
9290+ E->getIndex (), E->getFinal ());
9291+ }
9292+
92769293Error ASTNodeImporter::ImportOverriddenMethods (CXXMethodDecl *ToMethod,
92779294 CXXMethodDecl *FromMethod) {
92789295 Error ImportErrors = Error::success ();
0 commit comments