diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-10-12 20:35:48 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-10-12 20:35:48 +0000 |
commit | ebcfbb5d22ba5bbc902afc45fb267ea1884c3e4a (patch) | |
tree | e62a8b82d10b3377cb123783d32f3fd40fa07b2e /llvm/lib/Object/MachOObjectFile.cpp | |
parent | ca4e0fd7e63b90e6f68044af47248c64f250ee8f (diff) | |
download | bcm5719-llvm-ebcfbb5d22ba5bbc902afc45fb267ea1884c3e4a.tar.gz bcm5719-llvm-ebcfbb5d22ba5bbc902afc45fb267ea1884c3e4a.zip |
When we determine that a function template specialization produced as
part of template argument deduction is ill-formed, we mark it as
invalid and treat it as a deduction failure. If we happen to find that
specialization again, treat it as a deduction failure rather than
silently building a call to the declaration.
Fixes PR11117, a marvelous bug where deduction failed after creating
an invalid specialization, causing overload resolution to pick a
different candidate. Then we performed a similar overload resolution
later, and happily picked the invalid specialization to
call... resulting in a silent link failure.
llvm-svn: 141809
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions