diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-07-12 23:32:39 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-07-12 23:32:39 +0000 |
commit | c379d1a424badc74906db37c6c826e5b4a155b25 (patch) | |
tree | c175c59ce266c7875cf1b4592bc51fb81cbee039 /llvm/lib/CodeGen/PrologEpilogInserter.cpp | |
parent | 73dd5f9c08b974b41754faf410be596e306478b2 (diff) | |
download | bcm5719-llvm-c379d1a424badc74906db37c6c826e5b4a155b25.tar.gz bcm5719-llvm-c379d1a424badc74906db37c6c826e5b4a155b25.zip |
PR38136: improve handling of template argument deduction of non-trailing
function parameter packs.
This makes our handling of non-trailing function parameter packs
consistent between the case of deduction at the top level in a function
call and other cases where deduction encounters a non-trailing function
parameter pack.
Instead of treating a non-trailing pack and all later parameters as
being non-deduced, we treat a non-trailing pack as exactly matching
any explicitly-specified template arguments (or being an empty pack
if there are no such arguments). This corresponds to the "never deduced"
rule in [temp.deduct.call]p1, but generalized to all deduction contexts.
Non-trailing template argument packs still result in the entire
template argument list being treated as non-deduced, as specified in
[temp.deduct.type]p9.
llvm-svn: 336962
Diffstat (limited to 'llvm/lib/CodeGen/PrologEpilogInserter.cpp')
0 files changed, 0 insertions, 0 deletions