aboutsummaryrefslogtreecommitdiff
path: root/include/clang/AST/DeclTemplate.h
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-06-13 02:08:00 +0000
committerAnders Carlsson <andersca@mac.com>2009-06-13 02:08:00 +0000
commit0ceffb51b28b09db67404058c642dcb1f877f6e8 (patch)
tree5ca0ba92098e14baad1e4df08a62989d700cd51d /include/clang/AST/DeclTemplate.h
parentf0ec39a99b543547609a36a1bca08836db7849a6 (diff)
More work on type parameter packs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73281 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/AST/DeclTemplate.h')
-rw-r--r--include/clang/AST/DeclTemplate.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/clang/AST/DeclTemplate.h b/include/clang/AST/DeclTemplate.h
index ca4758031d..4363dda5c2 100644
--- a/include/clang/AST/DeclTemplate.h
+++ b/include/clang/AST/DeclTemplate.h
@@ -87,7 +87,7 @@ public:
/// \btief Returns the minimum number of arguments needed to form a
/// template specialization. This may be fewer than the number of
/// template parameters, if some of the parameters have default
- /// arguments.
+ /// arguments or if there is a parameter pack.
unsigned getMinRequiredArguments() const;
SourceLocation getTemplateLoc() const { return TemplateLoc; }
@@ -610,7 +610,7 @@ public:
assert(!isAddingFromParameterPack() &&
"Size is not valid when adding from a parameter pack");
- return Args.size();
+ return Indices.size() / 2;
}
size_t flatSize() const { return Args.size(); }
@@ -770,6 +770,7 @@ public:
static void
Profile(llvm::FoldingSetNodeID &ID, const TemplateArgument *TemplateArgs,
unsigned NumTemplateArgs) {
+ ID.AddInteger(NumTemplateArgs);
for (unsigned Arg = 0; Arg != NumTemplateArgs; ++Arg)
TemplateArgs[Arg].Profile(ID);
}