diff options
author | Anders Carlsson <andersca@mac.com> | 2009-06-05 04:47:51 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-06-05 04:47:51 +0000 |
commit | e9c904b082ac3299831704a69066b86ab0f78bec (patch) | |
tree | a4642de4489f009fc9745bbcbd2d299b6693cd42 /lib/Sema/SemaTemplateDeduction.cpp | |
parent | 91fdf6f576b91f023c3bebb0d3786aab555cb3c5 (diff) |
Make the TemplateArgumentList take a TemplateArgumentListBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72917 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplateDeduction.cpp')
-rw-r--r-- | lib/Sema/SemaTemplateDeduction.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Sema/SemaTemplateDeduction.cpp b/lib/Sema/SemaTemplateDeduction.cpp index 87968bf065..59793fe4c0 100644 --- a/lib/Sema/SemaTemplateDeduction.cpp +++ b/lib/Sema/SemaTemplateDeduction.cpp @@ -384,6 +384,12 @@ Sema::DeduceTemplateArguments(ClassTemplatePartialSpecializationDecl *Partial, } } - return new (Context) TemplateArgumentList(Context, Deduced.data(), - Deduced.size(), /*CopyArgs=*/true); + // FIXME: This is terrible. DeduceTemplateArguments should use a + // TemplateArgumentListBuilder directly. + TemplateArgumentListBuilder Builder; + for (unsigned I = 0, N = Deduced.size(); I != N; ++I) + Builder.push_back(Deduced[I]); + + return new (Context) TemplateArgumentList(Context, Builder, /*CopyArgs=*/true, + /*FlattenArgs=*/true); } |