diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-06-12 22:21:45 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-06-12 22:21:45 +0000 |
commit | 16df850bb73e8e2a3dece830b59785ff167428bc (patch) | |
tree | 7c72cf752ae1d86eff384ab6b6f818b0792cae83 /lib/Sema/SemaTemplateInstantiate.cpp | |
parent | 6aa75cfbdd473cb8fb2a2261abf7e9d3c8389bca (diff) |
Finish implementing checking of class template partial specializations
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73260 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplateInstantiate.cpp')
-rw-r--r-- | lib/Sema/SemaTemplateInstantiate.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Sema/SemaTemplateInstantiate.cpp b/lib/Sema/SemaTemplateInstantiate.cpp index e5a9675a03..936df1e97d 100644 --- a/lib/Sema/SemaTemplateInstantiate.cpp +++ b/lib/Sema/SemaTemplateInstantiate.cpp @@ -854,8 +854,11 @@ Sema::InstantiateClassTemplateSpecialization( const TemplateArgumentList *TemplateArgs = &ClassTemplateSpec->getTemplateArgs(); - // Determine whether any class template partial specializations - // match the given template arguments. + // C++ [temp.class.spec]p7: + // Partial specialization declarations themselves are not found by + // name lookup. Rather, when the primary template name is used, + // any previously declared partial specializations of the primary + // template are also considered. typedef std::pair<ClassTemplatePartialSpecializationDecl *, TemplateArgumentList *> MatchResult; llvm::SmallVector<MatchResult, 4> Matched; |