]> granicus.if.org Git - clang/commit
[TLS on Darwin] change how we handle globals with linkonce or weak linkage.
authorManman Ren <manman.ren@gmail.com>
Wed, 11 Nov 2015 22:42:31 +0000 (22:42 +0000)
committerManman Ren <manman.ren@gmail.com>
Wed, 11 Nov 2015 22:42:31 +0000 (22:42 +0000)
commitff855dea215a5fdb7478c49bf0ab183a420deb59
tree14c469bb8a807686596e8286c84aa1cce4d2d911
parent3f780d757ea28d90adba820d20b5182f0482278f
[TLS on Darwin] change how we handle globals with linkonce or weak linkage.

This is about how we handle static member of a template. Before this commit,
we use internal linkage for the IR thread-local variable, which is inefficient.
With this commit, we will start to follow Itanium C++ ABI.

rdar://problem/23415206

Reviewed by John McCall.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252814 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/ItaniumCXXABI.cpp
test/CodeGenCXX/cxx11-thread-local-reference.cpp
test/CodeGenCXX/cxx11-thread-local.cpp
test/CodeGenCXX/tls-init-funcs.cpp