aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/tls-init-funcs.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-04-30 21:34:13 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-04-30 21:34:13 +0000
commit8f4bdc0e37b4b24a58a15ecf41d1355a3b3fdcbb (patch)
treefe4b0de7ef2af4c48968a747b430fe94cafe640b /test/CodeGenCXX/tls-init-funcs.cpp
parent9b1317531d376738fd6631291b0a04109c76a63b (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.cpp21
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