diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-11-07 23:05:16 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-11-07 23:05:16 +0000 |
commit | 910f8008fea79120489a53593fe971b0b8a4a740 (patch) | |
tree | b263cbb7e92326a5d6c93db97de8737d388e3dcc /lib/Serialization/ASTReaderDecl.cpp | |
parent | dc1b76ddfc687c713a55cc9e3e054e9a0de1aa74 (diff) |
Remove broken support for variadic templates, along with the various
abstractions (e.g., TemplateArgumentListBuilder) that were designed to
support variadic templates. Only a few remnants of variadic templates
remain, in the parser (parsing template type parameter packs), AST
(template type parameter pack bits and TemplateArgument::Pack), and
Sema; these are expected to be used in a future implementation of
variadic templates.
But don't get too excited about that happening now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118385 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization/ASTReaderDecl.cpp')
-rw-r--r-- | lib/Serialization/ASTReaderDecl.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Serialization/ASTReaderDecl.cpp b/lib/Serialization/ASTReaderDecl.cpp index c6cb8db439..4fca0927cf 100644 --- a/lib/Serialization/ASTReaderDecl.cpp +++ b/lib/Serialization/ASTReaderDecl.cpp @@ -327,7 +327,7 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) { ASTContext &C = *Reader.getContext(); TemplateArgumentList *TemplArgList - = new (C) TemplateArgumentList(C, TemplArgs.data(), TemplArgs.size()); + = TemplateArgumentList::CreateCopy(C, TemplArgs.data(), TemplArgs.size()); TemplateArgumentListInfo *TemplArgsInfo = new (C) TemplateArgumentListInfo(LAngleLoc, RAngleLoc); for (unsigned i=0, e = TemplArgLocs.size(); i != e; ++i) @@ -1051,7 +1051,8 @@ void ASTDeclReader::VisitClassTemplateSpecializationDecl( llvm::SmallVector<TemplateArgument, 8> TemplArgs; Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx); TemplateArgumentList *ArgList - = new (C) TemplateArgumentList(C, TemplArgs.data(), TemplArgs.size()); + = TemplateArgumentList::CreateCopy(C, TemplArgs.data(), + TemplArgs.size()); ClassTemplateSpecializationDecl::SpecializedPartialSpecialization *PS = new (C) ClassTemplateSpecializationDecl:: SpecializedPartialSpecialization(); @@ -1074,7 +1075,8 @@ void ASTDeclReader::VisitClassTemplateSpecializationDecl( llvm::SmallVector<TemplateArgument, 8> TemplArgs; Reader.ReadTemplateArgumentList(TemplArgs, F, Record, Idx); - D->TemplateArgs.init(C, TemplArgs.data(), TemplArgs.size()); + D->TemplateArgs = TemplateArgumentList::CreateCopy(C, TemplArgs.data(), + TemplArgs.size()); D->PointOfInstantiation = ReadSourceLocation(Record, Idx); D->SpecializationKind = (TemplateSpecializationKind)Record[Idx++]; |