]> granicus.if.org Git - clang/commit
Fix two issues with the substitution of template template parameters
authorDouglas Gregor <dgregor@apple.com>
Fri, 5 Feb 2010 19:54:12 +0000 (19:54 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 5 Feb 2010 19:54:12 +0000 (19:54 +0000)
commit6d3e627dacdb2f749195635ab587fd067ef813e1
tree76308f7e413e576057b8ef5e6c31d9b1ba3e16f5
parent18aba0dd518e486d8b50523e7dafb4b5657135d2
Fix two issues with the substitution of template template parameters
when instantiating the declaration of a member template:
  - Only check if the have a template template argument at a specific position
  when we already know that we have template arguments at that level;
  otherwise, we're substituting for a level-reduced template template
  parameter.
  - When trying to find an instantiated declaration for a template
  template parameter, look into the instantiated scope. This was a
  typo, where we had two checks for TemplateTypeParmDecl, one of
  which should have been a TemplateTemplateParmDecl.

With these changes, tramp3d-v4 passes -fsyntax-only.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95421 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaTemplateInstantiate.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
test/SemaTemplate/member-function-template.cpp