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 | 1b28c3efe246b8d7462b0c45b46c55a2b9cd4cf9 (patch) | |
tree | 57451ae9b52e6fdac4876d186e4ba8ef286964c9 /clang/lib/AST/DeclTemplate.cpp | |
parent | 8aa89d40499a557958732fb0658835ba391eb213 (diff) | |
download | bcm5719-llvm-1b28c3efe246b8d7462b0c45b46c55a2b9cd4cf9.tar.gz bcm5719-llvm-1b28c3efe246b8d7462b0c45b46c55a2b9cd4cf9.zip |
Change the specialization decls to take a TemplateArgumentListBuilder.
llvm-svn: 72916
Diffstat (limited to 'clang/lib/AST/DeclTemplate.cpp')
-rw-r--r-- | clang/lib/AST/DeclTemplate.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/clang/lib/AST/DeclTemplate.cpp b/clang/lib/AST/DeclTemplate.cpp index f38ee825106..e491fc4de1c 100644 --- a/clang/lib/AST/DeclTemplate.cpp +++ b/clang/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; |