diff options
author | James Y Knight <jyknight@google.com> | 2020-05-27 09:55:29 -0400 |
---|---|---|
committer | James Y Knight <jyknight@google.com> | 2020-05-27 11:59:30 -0400 |
commit | aca3d067efe194539efd1e0fcf03820a2c377753 (patch) | |
tree | 669b87babb26aa9749360fadb256b50262a26586 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 6022efb0e9cbb350f7b690acd0cfa4b87b1dfe87 (diff) | |
download | llvm-aca3d067efe194539efd1e0fcf03820a2c377753.zip llvm-aca3d067efe194539efd1e0fcf03820a2c377753.tar.gz llvm-aca3d067efe194539efd1e0fcf03820a2c377753.tar.bz2 |
Fix Darwin 'constinit thread_local' variables.
Unlike other platforms using ItaniumCXXABI, Darwin does not allow the
creation of a thread-wrapper function for a variable in the TU of
users. Because of this, it can set the linkage of the thread-local
symbol to internal, with the assumption that no TUs other than the one
defining the variable will need it.
However, constinit thread_local variables do not require the use of
the thread-wrapper call, so users reference the variable
directly. Thus, it must not be converted to internal, or users will
get a link failure.
This was a regression introduced by the optimization in
00223827a952f66e7426c9881a2a4229e59bb019.
Differential Revision: https://reviews.llvm.org/D80417
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions