summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplate.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-05-11 23:53:27 +0000
committerDouglas Gregor <dgregor@apple.com>2009-05-11 23:53:27 +0000
commitd002c7bc5889d23f8039b15aef3c38bc2db885e3 (patch)
treeac98e6e6050218aec7d1cf22075e734a99270b7d /clang/lib/Sema/SemaTemplate.cpp
parent5fb7847fbff1c8808e589426ebacabf11339f07c (diff)
downloadbcm5719-llvm-d002c7bc5889d23f8039b15aef3c38bc2db885e3.tar.gz
bcm5719-llvm-d002c7bc5889d23f8039b15aef3c38bc2db885e3.zip
Encapsulate template arguments lists in a new class,
TemplateArgumentList. This avoids the need to pass around pointer/length pairs of template arguments lists, and will eventually make it easier to introduce member templates and variadic templates. llvm-svn: 71517
Diffstat (limited to 'clang/lib/Sema/SemaTemplate.cpp')
-rw-r--r--clang/lib/Sema/SemaTemplate.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 3938978dfd5..fc44217252a 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -993,7 +993,11 @@ bool Sema::CheckTemplateArgumentList(TemplateDecl *Template,
Template, &Converted[0],
Converted.size(),
SourceRange(TemplateLoc, RAngleLoc));
- ArgType = InstantiateType(ArgType, &Converted[0], Converted.size(),
+
+ TemplateArgumentList TemplateArgs(Context, &Converted[0],
+ Converted.size(),
+ /*CopyArgs=*/false);
+ ArgType = InstantiateType(ArgType, TemplateArgs,
TTP->getDefaultArgumentLoc(),
TTP->getDeclName());
}
@@ -1061,8 +1065,10 @@ bool Sema::CheckTemplateArgumentList(TemplateDecl *Template,
Converted.size(),
SourceRange(TemplateLoc, RAngleLoc));
- NTTPType = InstantiateType(NTTPType,
- &Converted[0], Converted.size(),
+ TemplateArgumentList TemplateArgs(Context, &Converted[0],
+ Converted.size(),
+ /*CopyArgs=*/false);
+ NTTPType = InstantiateType(NTTPType, TemplateArgs,
NTTP->getLocation(),
NTTP->getDeclName());
// If that worked, check the non-type template parameter type
OpenPOWER on IntegriCloud