diff options
author | Reid Kleckner <rnk@google.com> | 2015-11-10 22:23:58 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2015-11-10 22:23:58 +0000 |
commit | 489cfe1401cd12ada30e7f73e4769b0eca30651a (patch) | |
tree | d2626d5930ced7be7468aa505064720dad71ab8c /llvm/docs/CompileCudaWithLLVM.rst | |
parent | b7e286bed7d7e7c044a54785f30ca26894fda6b2 (diff) | |
download | bcm5719-llvm-489cfe1401cd12ada30e7f73e4769b0eca30651a.tar.gz bcm5719-llvm-489cfe1401cd12ada30e7f73e4769b0eca30651a.zip |
[COFF] Don't try to emit weak aliases on COFF
This comes up when a derived class destructor is equivalent to a base
class destructor defined in the same TU, and we try to alias them.
A COFF weak alias cannot satisfy a normal undefined symbol reference
from another TU. The other TU must also mark the referenced symbol as
weak, and we can't rely on that.
Clang already has a special case here for dllexport, but we failed to
realize that the problem also applies to other non-discardable symbols
such as those from explicit template instantiations.
Fixes PR25477.
llvm-svn: 252659
Diffstat (limited to 'llvm/docs/CompileCudaWithLLVM.rst')
0 files changed, 0 insertions, 0 deletions