diff options
author | Anders Carlsson <andersca@mac.com> | 2009-06-05 04:06:48 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-06-05 04:06:48 +0000 |
commit | 91fdf6f576b91f023c3bebb0d3786aab555cb3c5 (patch) | |
tree | ed520925f4c3e93490758cdabb9180ff5c5d341a /lib/AST/DeclTemplate.cpp | |
parent | 1c5976e5e933c0d74f7e04e8f907a93f5edbfec1 (diff) |
Change the specialization decls to take a TemplateArgumentListBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72916 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclTemplate.cpp')
-rw-r--r-- | lib/AST/DeclTemplate.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/lib/AST/DeclTemplate.cpp b/lib/AST/DeclTemplate.cpp index f38ee82510..e491fc4de1 100644 --- a/lib/AST/DeclTemplate.cpp +++ b/lib/AST/DeclTemplate.cpp @@ -271,8 +271,7 @@ ClassTemplateSpecializationDecl:: ClassTemplateSpecializationDecl(ASTContext &Context, Kind DK, DeclContext *DC, SourceLocation L, ClassTemplateDecl *SpecializedTemplate, - TemplateArgument *TemplateArgs, - unsigned NumTemplateArgs) + TemplateArgumentListBuilder &Builder) : CXXRecordDecl(DK, SpecializedTemplate->getTemplatedDecl()->getTagKind(), DC, L, @@ -280,7 +279,8 @@ ClassTemplateSpecializationDecl(ASTContext &Context, Kind DK, // class template specializations? SpecializedTemplate->getIdentifier()), SpecializedTemplate(SpecializedTemplate), - TemplateArgs(Context, TemplateArgs, NumTemplateArgs, /*CopyArgs=*/true), + TemplateArgs(Context, Builder.getFlatArgumentList(), Builder.flatSize(), + /*CopyArgs=*/true), SpecializationKind(TSK_Undeclared) { } @@ -288,16 +288,14 @@ ClassTemplateSpecializationDecl * ClassTemplateSpecializationDecl::Create(ASTContext &Context, DeclContext *DC, SourceLocation L, ClassTemplateDecl *SpecializedTemplate, - TemplateArgument *TemplateArgs, - unsigned NumTemplateArgs, + TemplateArgumentListBuilder &Builder, ClassTemplateSpecializationDecl *PrevDecl) { ClassTemplateSpecializationDecl *Result = new (Context)ClassTemplateSpecializationDecl(Context, ClassTemplateSpecialization, DC, L, SpecializedTemplate, - TemplateArgs, - NumTemplateArgs); + Builder); Context.getTypeDeclType(Result, PrevDecl); return Result; } @@ -310,14 +308,13 @@ ClassTemplatePartialSpecializationDecl:: Create(ASTContext &Context, DeclContext *DC, SourceLocation L, TemplateParameterList *Params, ClassTemplateDecl *SpecializedTemplate, - TemplateArgument *TemplateArgs, unsigned NumTemplateArgs, + TemplateArgumentListBuilder &Builder, ClassTemplatePartialSpecializationDecl *PrevDecl) { ClassTemplatePartialSpecializationDecl *Result = new (Context)ClassTemplatePartialSpecializationDecl(Context, DC, L, Params, SpecializedTemplate, - TemplateArgs, - NumTemplateArgs); + Builder); Result->setSpecializationKind(TSK_ExplicitSpecialization); Context.getTypeDeclType(Result, PrevDecl); return Result; |