Implicitly expand argument packs when performing template argument
commit37907803ff72f5d1bf8a4e90a0ecb4c5067724b3
authorDouglas Gregor <doug.gregor@gmail.com>
Wed, 22 Dec 2010 18:17:10 +0000 (22 18:17 +0000)
committerDouglas Gregor <doug.gregor@gmail.com>
Wed, 22 Dec 2010 18:17:10 +0000 (22 18:17 +0000)
treec382dc9292a4bb89e52fff62b7ed2b0b4f5ebd23
parent7edefdb772ffcdceee26469f3a293afbafb517f4
Implicitly expand argument packs when performing template argument
deduction. Unify all of the looping over template arguments for
deduction purposes into a single place, where argument pack expansion
occurs; this is also the hook for deducing from pack expansions, which
itself is not yet implemented.

For now, at least we can handle a basic "count" metafunction written
with variadics. See the new test for the formulation that works.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122418 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DiagnosticSemaKinds.td
lib/Sema/SemaTemplateDeduction.cpp
test/CXX/temp/temp.decls/temp.variadic/count.cpp [new file with mode: 0644]