When template deduction fails on a derived class, try a template deduction on
authorRichard Trieu <rtrieu@google.com>
Wed, 7 Nov 2012 21:17:13 +0000 (21:17 +0000)
committerRichard Trieu <rtrieu@google.com>
Wed, 7 Nov 2012 21:17:13 +0000 (21:17 +0000)
commit23bafad985291c0563cf2cb291f0d0747553fcde
tree8d705c7bcb90f67ad79698ebdece326895135b08
parent7778d616e8de90173324dc630109db6d28e48ba9
When template deduction fails on a derived class, try a template deduction on
the base class.  If the base class deduction succeeds, use those results.  If
it fails, keep using the results from the derived class template deduction.

This prevents an assertion later where the type of deduction failure doesn't
match up with the template deduction info.

llvm-svn: 167550
clang/lib/Sema/SemaTemplateDeduction.cpp
clang/test/SemaTemplate/derived.cpp [new file with mode: 0644]