llvm-project/clang/test/CXX
Douglas Gregor 2fcb863b2b Implement partial ordering of class template partial specializations
and function templates that contain variadic templates. This involves
three small-ish changes:

  (1) When transforming a pack expansion, if the transformed argument
  still contains unexpanded parameter packs, build a pack
  expansion. This can happen during the substitution that occurs into
  class template partial specialiation template arguments during
  partial ordering. 
 
  (2) When performing template argument deduction where the argument
  is a pack expansion, match against the pattern of that pack
  expansion.

  (3) When performing template argument deduction against a non-pack
  parameter, or a non-expansion template argument, deduction fails if
  the argument itself is a pack expansion (C++0x
  [temp.deduct.type]p22).

llvm-svn: 123279
2011-01-11 22:21:24 +00:00
..
basic C++ [basic.scope.hiding] allows an ordinary name to hide a non-tag 2010-10-23 16:06:17 +00:00
class Forgot a file in r120182 2010-11-26 18:37:14 +00:00
class.access Access control polish: drop the note on the original declaration and 2010-10-20 08:15:06 +00:00
class.derived In the presence of using declarations, we can find the same class 2010-10-22 22:08:47 +00:00
conv Drop an unjustified limitation from Type::isObjectType(). Fixes PR7801 and doesn't seem to break anything. 2010-08-05 01:21:19 +00:00
dcl.dcl Revert r120063, it was wrong. 2010-11-29 18:01:58 +00:00
dcl.decl Initial implementation of function parameter packs. This implementation allows: 2011-01-05 23:12:31 +00:00
except Add unnamed_addr to constructors and destructors. 2011-01-11 00:26:26 +00:00
expr Implement substitution of a function parameter pack for its set of 2011-01-07 16:43:16 +00:00
lex Fix for PR6220: compute the correct type for multicharacter literals. 2010-02-03 18:21:45 +00:00
over Implement C++0x [temp.func.order]p3 (aka DR532) properly. In 2010-11-15 15:41:16 +00:00
special 'const std::type_info*' instead of 'std::type_info const*' 2010-09-05 00:17:29 +00:00
stmt.stmt add missing newlines at end of file. 2010-12-21 02:36:58 +00:00
temp Implement partial ordering of class template partial specializations 2011-01-11 22:21:24 +00:00