]> granicus.if.org Git - clang/commit
When we use the default template arguments of a template template
authorDouglas Gregor <dgregor@apple.com>
Thu, 3 Mar 2011 02:41:12 +0000 (02:41 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 3 Mar 2011 02:41:12 +0000 (02:41 +0000)
commit67714230a191bc3c01f33378f34f34ef377991a6
treebb2f9ffb665ee4d8372a331f329971cd07de651a
parentdfbbcf964a5d51bc01340a6f830cf380f9c0a5a1
When we use the default template arguments of a template template
parameter, save the instantiated default template arguments along with
the explicitly-specified template argument list. That way, we prefer
the default template template arguments corresponding to the template
template parameter rather than those of its template template argument.

This addresses the likely direction of C++ core issue 150, and fixes
PR9353/<rdar://problem/9069136>, bringing us closer to the behavior of
EDG and GCC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126920 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Sema/Sema.h
lib/Sema/SemaOverload.cpp
lib/Sema/SemaTemplate.cpp
lib/Sema/SemaTemplateDeduction.cpp
lib/Sema/TreeTransform.h
test/SemaTemplate/issue150.cpp [new file with mode: 0644]