summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-12-25 08:05:23 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-12-25 08:05:23 +0000
commit87d263e870752d1bd724183bd88be47f6d2f6fed (patch)
tree7ec26efc2d949fc4aa854d8f6bc973708ed257c4 /llvm/lib
parent31a46b48356a52ca33869e55b2af368e0b7a82aa (diff)
downloadbcm5719-llvm-87d263e870752d1bd724183bd88be47f6d2f6fed.tar.gz
bcm5719-llvm-87d263e870752d1bd724183bd88be47f6d2f6fed.zip
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
Diffstat (limited to 'llvm/lib')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud