]> granicus.if.org Git - clang/commit
PR32185: Revert r291512 and add a testcase for PR32185.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 13 Apr 2017 21:37:24 +0000 (21:37 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 13 Apr 2017 21:37:24 +0000 (21:37 +0000)
commit24a137ec645bd77f10353247a0a63e0a082a11ec
treeacd31ee7a6231b16035df4e3b34d983d39b1efd1
parent08a97a0d0b15aeb903ab0e12d11a08d805d8db1b
PR32185: Revert r291512 and add a testcase for PR32185.

This reverts an attempt to check that types match when matching a
dependently-typed non-type template parameter. (This comes up when matching the
parameters of a template template parameter against the parameters of a
template template argument.)

The matching rules here are murky at best. Our behavior after this revert is
definitely wrong for certain C++17 features (for 'auto' template parameter
types within the parameter list of a template template argument in particular),
but our behavior before this revert is wrong for some pre-existing testcases,
so reverting to our prior behavior seems like our best option.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@300262 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaTemplate.cpp
test/Modules/cxx-templates.cpp
test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
test/SemaTemplate/deduction.cpp
test/SemaTemplate/temp_arg_template.cpp
test/SemaTemplate/temp_arg_template_cxx1z.cpp