summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclTemplate.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-06-05 05:31:27 +0000
committerAnders Carlsson <andersca@mac.com>2009-06-05 05:31:27 +0000
commit184cb4123e3acaae2f3750439383556989217de5 (patch)
tree48c3a9c3ae72d1ca17b04f650e0e30372b2b6b80 /clang/lib/AST/DeclTemplate.cpp
parentc8e7113a9f6c6c3cf6d6c465f073dd487993d87d (diff)
downloadbcm5719-llvm-184cb4123e3acaae2f3750439383556989217de5.tar.gz
bcm5719-llvm-184cb4123e3acaae2f3750439383556989217de5.zip
Make TemplateArgumentListBuilder take an ASTContext (because we're probably going to need it later). Move push_back to the .cpp file. If the passed in template argument is a type, assert that it's canonical.
llvm-svn: 72918
Diffstat (limited to 'clang/lib/AST/DeclTemplate.cpp')
-rw-r--r--clang/lib/AST/DeclTemplate.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/lib/AST/DeclTemplate.cpp b/clang/lib/AST/DeclTemplate.cpp
index fbaaf4de7f7..11b9275e344 100644
--- a/clang/lib/AST/DeclTemplate.cpp
+++ b/clang/lib/AST/DeclTemplate.cpp
@@ -236,6 +236,19 @@ TemplateArgument::TemplateArgument(Expr *E) : Kind(Expression) {
}
//===----------------------------------------------------------------------===//
+// TemplateArgumentListBuilder Implementation
+//===----------------------------------------------------------------------===//
+void TemplateArgumentListBuilder::push_back(const TemplateArgument& Arg) {
+ switch (Arg.getKind()) {
+ case TemplateArgument::Type:
+ assert(Arg.getAsType()->isCanonical() && "Type must be canonical!");
+ break;
+ }
+
+ Args.push_back(Arg);
+}
+
+//===----------------------------------------------------------------------===//
// TemplateArgumentList Implementation
//===----------------------------------------------------------------------===//
TemplateArgumentList::TemplateArgumentList(ASTContext &Context,
OpenPOWER on IntegriCloud