llvm-project/clang/include
Richard Smith 87d263e870 Fix some subtle wrong partial ordering bugs particularly with C++1z auto-typed
non-type template parameters.

During partial ordering, when checking the substituted deduced template
arguments match the original, check the types of non-type template arguments
match even if they're dependent. The only way we get dependent types here is if
they really represent types of the other template (which are supposed to be
modeled as being substituted for unique, non-dependent types).

In order to make this work for auto-typed non-type template arguments, we need
to be able to perform auto deduction even when the initializer and
(potentially) the auto type are dependent, support for which is the bulk of
this patch. (Note that this requires the ability to deduce only a single level
of a multi-level dependent type.)

llvm-svn: 290511
2016-12-25 08:05:23 +00:00
..
clang Fix some subtle wrong partial ordering bugs particularly with C++1z auto-typed 2016-12-25 08:05:23 +00:00
clang-c [OpenMP] Sema and parsing for 'target teams distribute' pragma 2016-12-25 04:52:54 +00:00
CMakeLists.txt