diff options
author | Hans Wennborg <hans@hanshq.net> | 2015-08-28 21:47:01 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2015-08-28 21:47:01 +0000 |
commit | 6eaa8323a887a878f54dfcc65d4fff72c0f5c161 (patch) | |
tree | 7dda0796d6e35b1752714167c273cb6bf0010ffc /llvm/lib/IR/Verifier.cpp | |
parent | e235d4502665e377cc920049dc33dfb693ad2067 (diff) | |
download | bcm5719-llvm-6eaa8323a887a878f54dfcc65d4fff72c0f5c161.tar.gz bcm5719-llvm-6eaa8323a887a878f54dfcc65d4fff72c0f5c161.zip |
Allow TLS vars in dllimport/export functions; only inline dllimport functions when safe (PR24593)
This patch does two things:
1) Don't error about dllimport/export on thread-local static local variables.
We put those attributes on static locals in dllimport/export functions
implicitly in case the function gets inlined. Now, for TLS variables this
is a problem because we can't import such variables, but it's a benign
problem becase:
2) Make sure we never inline a dllimport function TLS static locals. In fact,
never inline a dllimport function that references a non-imported function
or variable (because these are not defined in the importing library). This
seems to match MSVC's behaviour.
Differential Revision: http://reviews.llvm.org/D12422
llvm-svn: 246338
Diffstat (limited to 'llvm/lib/IR/Verifier.cpp')
0 files changed, 0 insertions, 0 deletions