@@ -957,20 +957,18 @@ FunctionTemplateSpecializationInfo *FunctionTemplateSpecializationInfo::Create(
957
957
// ClassTemplateSpecializationDecl Implementation
958
958
// ===----------------------------------------------------------------------===//
959
959
960
- ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl (
961
- ASTContext &Context, Kind DK, TagKind TK, DeclContext *DC,
962
- SourceLocation StartLoc, SourceLocation IdLoc,
963
- ClassTemplateDecl *SpecializedTemplate, ArrayRef<TemplateArgument> Args,
964
- bool MatchedPackOnParmToNonPackOnArg,
965
- ClassTemplateSpecializationDecl *PrevDecl)
960
+ ClassTemplateSpecializationDecl::
961
+ ClassTemplateSpecializationDecl (ASTContext &Context, Kind DK, TagKind TK,
962
+ DeclContext *DC, SourceLocation StartLoc,
963
+ SourceLocation IdLoc,
964
+ ClassTemplateDecl *SpecializedTemplate,
965
+ ArrayRef<TemplateArgument> Args,
966
+ ClassTemplateSpecializationDecl *PrevDecl)
966
967
: CXXRecordDecl(DK, TK, Context, DC, StartLoc, IdLoc,
967
968
SpecializedTemplate->getIdentifier (), PrevDecl),
968
- SpecializedTemplate(SpecializedTemplate),
969
- TemplateArgs(TemplateArgumentList::CreateCopy(Context, Args)),
970
- SpecializationKind(TSK_Undeclared),
971
- MatchedPackOnParmToNonPackOnArg(MatchedPackOnParmToNonPackOnArg) {
972
- assert (DK == Kind::ClassTemplateSpecialization ||
973
- MatchedPackOnParmToNonPackOnArg == false );
969
+ SpecializedTemplate(SpecializedTemplate),
970
+ TemplateArgs(TemplateArgumentList::CreateCopy(Context, Args)),
971
+ SpecializationKind(TSK_Undeclared) {
974
972
}
975
973
976
974
ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl (ASTContext &C,
@@ -979,14 +977,18 @@ ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(ASTContext &C,
979
977
SourceLocation(), nullptr, nullptr),
980
978
SpecializationKind(TSK_Undeclared) {}
981
979
982
- ClassTemplateSpecializationDecl *ClassTemplateSpecializationDecl::Create (
983
- ASTContext &Context, TagKind TK, DeclContext *DC, SourceLocation StartLoc,
984
- SourceLocation IdLoc, ClassTemplateDecl *SpecializedTemplate,
985
- ArrayRef<TemplateArgument> Args, bool MatchedPackOnParmToNonPackOnArg,
986
- ClassTemplateSpecializationDecl *PrevDecl) {
987
- auto *Result = new (Context, DC) ClassTemplateSpecializationDecl (
988
- Context, ClassTemplateSpecialization, TK, DC, StartLoc, IdLoc,
989
- SpecializedTemplate, Args, MatchedPackOnParmToNonPackOnArg, PrevDecl);
980
+ ClassTemplateSpecializationDecl *
981
+ ClassTemplateSpecializationDecl::Create (ASTContext &Context, TagKind TK,
982
+ DeclContext *DC,
983
+ SourceLocation StartLoc,
984
+ SourceLocation IdLoc,
985
+ ClassTemplateDecl *SpecializedTemplate,
986
+ ArrayRef<TemplateArgument> Args,
987
+ ClassTemplateSpecializationDecl *PrevDecl) {
988
+ auto *Result =
989
+ new (Context, DC) ClassTemplateSpecializationDecl (
990
+ Context, ClassTemplateSpecialization, TK, DC, StartLoc, IdLoc,
991
+ SpecializedTemplate, Args, PrevDecl);
990
992
Result->setMayHaveOutOfDateDef (false );
991
993
992
994
// If the template decl is incomplete, copy the external lexical storage from
@@ -1173,10 +1175,7 @@ ClassTemplatePartialSpecializationDecl::ClassTemplatePartialSpecializationDecl(
1173
1175
ClassTemplatePartialSpecializationDecl *PrevDecl)
1174
1176
: ClassTemplateSpecializationDecl(
1175
1177
Context, ClassTemplatePartialSpecialization, TK, DC, StartLoc, IdLoc,
1176
- // Tracking MatchedPackOnParmToNonPackOnArg for Partial
1177
- // Specializations is not needed.
1178
- SpecializedTemplate, Args, /* MatchedPackOnParmToNonPackOnArg=*/ false ,
1179
- PrevDecl),
1178
+ SpecializedTemplate, Args, PrevDecl),
1180
1179
TemplateParams(Params), InstantiatedFromMember(nullptr , false ) {
1181
1180
if (AdoptTemplateParameterList (Params, this ))
1182
1181
setInvalidDecl ();
0 commit comments