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 | e6c878c0c67972a5f4bb14076f3d71c6b5c15083 (patch) | |
tree | dd12e4bd019d69092fc334bb32b0c433af36b556 /clang/test/CodeGenCXX/tls-init-funcs.cpp | |
parent | 061f1e21bee0c8fec2dda677958c3c27c5a538e5 (diff) | |
download | bcm5719-llvm-e6c878c0c67972a5f4bb14076f3d71c6b5c15083.tar.gz bcm5719-llvm-e6c878c0c67972a5f4bb14076f3d71c6b5c15083.zip |
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>
llvm-svn: 180809
Diffstat (limited to 'clang/test/CodeGenCXX/tls-init-funcs.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/tls-init-funcs.cpp | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/clang/test/CodeGenCXX/tls-init-funcs.cpp b/clang/test/CodeGenCXX/tls-init-funcs.cpp deleted file mode 100644 index 653d6e39107..00000000000 --- a/clang/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 |