summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclTemplate.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-07-08 18:37:38 +0000
committerDouglas Gregor <dgregor@apple.com>2010-07-08 18:37:38 +0000
commit9961ce9428a935c33541936e019fc1e810b8c09f (patch)
tree7c779e661144d4da031256ce69841686907d06f7 /clang/lib/AST/DeclTemplate.cpp
parent246549c50b6e2db6da277c607c3bfcb862a134ef (diff)
downloadbcm5719-llvm-9961ce9428a935c33541936e019fc1e810b8c09f.tar.gz
bcm5719-llvm-9961ce9428a935c33541936e019fc1e810b8c09f.zip
When performing substitution of template arguments within the body of
a template, be sure to include the template arguments from the injected-class-name. Fixes PR7587. llvm-svn: 107895
Diffstat (limited to 'clang/lib/AST/DeclTemplate.cpp')
-rw-r--r--clang/lib/AST/DeclTemplate.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/AST/DeclTemplate.cpp b/clang/lib/AST/DeclTemplate.cpp
index 9a7bc9105bd..f00eb0478a7 100644
--- a/clang/lib/AST/DeclTemplate.cpp
+++ b/clang/lib/AST/DeclTemplate.cpp
@@ -201,7 +201,7 @@ ClassTemplateDecl::findPartialSpecialization(QualType T) {
}
QualType
-ClassTemplateDecl::getInjectedClassNameSpecialization(ASTContext &Context) {
+ClassTemplateDecl::getInjectedClassNameSpecialization() {
Common *CommonPtr = getCommonPtr();
if (!CommonPtr->InjectedClassNameType.isNull())
return CommonPtr->InjectedClassNameType;
@@ -210,7 +210,7 @@ ClassTemplateDecl::getInjectedClassNameSpecialization(ASTContext &Context) {
// corresponding to template parameter packs should be pack
// expansions. We already say that in 14.6.2.1p2, so it would be
// better to fix that redundancy.
-
+ ASTContext &Context = getASTContext();
TemplateParameterList *Params = getTemplateParameters();
llvm::SmallVector<TemplateArgument, 16> TemplateArgs;
TemplateArgs.reserve(Params->size());
OpenPOWER on IntegriCloud