PR tree-optimization/86415 - strlen() not folded for substrings within constant arrays
[official-gcc.git] / gcc / testsuite / g++.dg / tls / thread_local6g.C
blobd357ca4fa1f8bb61c8b1a7bc22e924e668f81173
1 // Test for cleanups in the main thread without -pthread.
3 // { dg-do run { target c++11 } }
4 // { dg-add-options tls }
5 // { dg-require-effective-target unwrapped }
6 // { dg-require-effective-target tls_runtime }
7 // { dg-require-cxa-atexit "" }
9 extern "C" void _exit (int);
11 int c;
12 struct A
14   A() { ++c; }
15   ~A() { if (c == 1) _exit(0); }
18 thread_local A a;
20 void *thread_main(void *)
22   A* ap = &a;
23   return 0;
26 int main()
28   thread_main(0);
30   // The dtor for a in the main thread is run after main exits, so we
31   // return 1 now and override the return value with _exit above.
32   return 1;