summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclTemplate.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-06-15 17:04:53 +0000
committerAnders Carlsson <andersca@mac.com>2009-06-15 17:04:53 +0000
commitbc34391f0490471e894a6b3f46bddab9ccd5ab3b (patch)
tree0ecf471bcd1e6b3ca9a15f14aa14152492b7a4cb /clang/lib/AST/DeclTemplate.cpp
parent15e08d85672428f69a7019cb4a7880ae72da1016 (diff)
downloadbcm5719-llvm-bc34391f0490471e894a6b3f46bddab9ccd5ab3b.tar.gz
bcm5719-llvm-bc34391f0490471e894a6b3f46bddab9ccd5ab3b.zip
Add a new 'Pack' argument kind to TemplateArgument. This is not yet used.
llvm-svn: 73391
Diffstat (limited to 'clang/lib/AST/DeclTemplate.cpp')
-rw-r--r--clang/lib/AST/DeclTemplate.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/lib/AST/DeclTemplate.cpp b/clang/lib/AST/DeclTemplate.cpp
index 5b1bf9b3afc..d57a43040f6 100644
--- a/clang/lib/AST/DeclTemplate.cpp
+++ b/clang/lib/AST/DeclTemplate.cpp
@@ -238,6 +238,22 @@ TemplateArgument::TemplateArgument(Expr *E) : Kind(Expression) {
StartLoc = E->getSourceRange().getBegin();
}
+/// \brief Construct a template argument pack.
+TemplateArgument::TemplateArgument(SourceLocation Loc, TemplateArgument *args,
+ unsigned NumArgs, bool CopyArgs)
+ : Kind(Pack) {
+ Args.NumArgs = NumArgs;
+ Args.CopyArgs = CopyArgs;
+ if (!Args.CopyArgs) {
+ Args.Args = args;
+ return;
+ }
+
+ Args.Args = new TemplateArgument[NumArgs];
+ for (unsigned I = 0; I != NumArgs; ++I)
+ Args.Args[I] = args[I];
+}
+
//===----------------------------------------------------------------------===//
// TemplateArgumentListBuilder Implementation
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud