diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-04-30 21:34:13 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-04-30 21:34:13 +0000 |
commit | 8f4bdc0e37b4b24a58a15ecf41d1355a3b3fdcbb (patch) | |
tree | fe4b0de7ef2af4c48968a747b430fe94cafe640b /test/CodeGenCXX/tls-init-funcs.cpp | |
parent | 9b1317531d376738fd6631291b0a04109c76a63b (diff) |
Revert r180739 and r180748: they broke C++11 thread_local on non-Darwin systems and did not do the right thing on Darwin.
Original commit message:
Emit the TLS intialization functions into a list.
Add the TLS initialization functions to a list of initialization functions. The
back-end takes this list and places the function pointers into the correct
section. This way they're called before `main().'
<rdar://problem/13733006>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180809 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/tls-init-funcs.cpp')
-rw-r--r-- | test/CodeGenCXX/tls-init-funcs.cpp | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/test/CodeGenCXX/tls-init-funcs.cpp b/test/CodeGenCXX/tls-init-funcs.cpp deleted file mode 100644 index 653d6e3910..0000000000 --- a/test/CodeGenCXX/tls-init-funcs.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin11.0.0 -std=c++11 -emit-llvm %s -o - | FileCheck -check-prefix=BITCODE %s -// RUN: %clang_cc1 -triple x86_64-apple-darwin11.0.0 -std=c++11 -S %s -o - | FileCheck -check-prefix=ASM %s - -// BITCODE: @llvm.tls_init_funcs = appending global [1 x void ()*] [void ()* @__tls_init] - -struct A { - A(); -}; - -struct B { - int i; - B(int i); -}; - -thread_local int i = 37; -thread_local A a; -thread_local B b(927); - -// ASM: .section __DATA,__thread_init,thread_local_init_function_pointers -// ASM: .align 3 -// ASM: .quad ___tls_init |