]> granicus.if.org Git - clang/commit
When checking a template argument list against a template containing
authorDouglas Gregor <dgregor@apple.com>
Mon, 20 Dec 2010 16:57:52 +0000 (16:57 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 20 Dec 2010 16:57:52 +0000 (16:57 +0000)
commit14be16b93941aa4c4909b596d52a34af70ee1928
treec9186f6419deea1a03d7d4dcf7907339d40535cb
parent87dd697dcc8ecb64df73ae64d61b8c80ff0c157c
When checking a template argument list against a template containing
a parameter pack, check the parameter pack against each of the
template arguments it corresponds to, then pack the converted
arguments into a template argument pack. Allows us to use variadic
class templates so long as instantiation isn't required, e.g.,

  template<typename... Types> struct Tuple;
  Tuple<int, float> *t2;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122251 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaTemplate.cpp
test/CXX/temp/temp.decls/temp.variadic/p1.cpp [new file with mode: 0644]