@@ -1718,9 +1718,8 @@ clang::getReplacedTemplateParameter(Decl *D, unsigned Index) {
17181718 cast<FunctionDecl>(D)->getTemplateSpecializationInfo ()->getTemplate (),
17191719 Index);
17201720 case Decl::Kind::CXXExpansionStmt:
1721- return {
1722- cast<CXXExpansionStmtDecl>(D)->getTemplateParameters ()->getParam (Index),
1723- {}};
1721+ assert (Index == 0 && " expansion stmts only have a single template param" );
1722+ return {cast<CXXExpansionStmtDecl>(D)->getIndexTemplateParm (), {}};
17241723 default :
17251724 llvm_unreachable (" Unhandled templated declaration kind" );
17261725 }
@@ -1794,14 +1793,14 @@ const Decl &clang::adjustDeclToTemplate(const Decl &D) {
17941793}
17951794
17961795CXXExpansionStmtDecl::CXXExpansionStmtDecl (DeclContext *DC, SourceLocation Loc,
1797- TemplateParameterList *TParams )
1796+ NonTypeTemplateParmDecl *NTTP )
17981797 : Decl(CXXExpansionStmt, DC, Loc), DeclContext(CXXExpansionStmt),
1799- TParams(TParams ) {}
1798+ IndexNTTP(NTTP ) {}
18001799
18011800CXXExpansionStmtDecl *
18021801CXXExpansionStmtDecl::Create (ASTContext &C, DeclContext *DC, SourceLocation Loc,
1803- TemplateParameterList *TParams ) {
1804- return new (C, DC) CXXExpansionStmtDecl (DC, Loc, TParams );
1802+ NonTypeTemplateParmDecl *NTTP ) {
1803+ return new (C, DC) CXXExpansionStmtDecl (DC, Loc, NTTP );
18051804}
18061805CXXExpansionStmtDecl *
18071806CXXExpansionStmtDecl::CreateDeserialized (ASTContext &C, GlobalDeclID ID) {
0 commit comments