]> granicus.if.org Git - clang/commit
PR13136:
authorRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 9 Jul 2012 03:07:20 +0000 (03:07 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 9 Jul 2012 03:07:20 +0000 (03:07 +0000)
commit6098381c29c2693832aa81ef046cf21a49729436
tree4ffb16c4a0c478e68f44bcbe233b4dc1dfc16887
parent6ff6cfe696df9e618c3deae7b34c701d58484c23
PR13136:

 * When substituting a reference to a non-type template parameter pack where the
   corresponding argument is a pack expansion, transform into an expression
   which contains an unexpanded parameter pack rather than into an expression
   which contains a pack expansion. This causes the SubstNonTypeTemplateParmExpr
   to be inside the PackExpansionExpr, rather than outside, so the expression
   still looks like a pack expansion and can be deduced.

 * Teach MarkUsedTemplateParameters that we can deduce a reference to a template
   parameter if it's wrapped in a SubstNonTypeTemplateParmExpr (such nodes are
   added during alias template substitution).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159922 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaTemplateDeduction.cpp
lib/Sema/SemaTemplateInstantiate.cpp
test/SemaTemplate/alias-templates.cpp