1 // { dg-do run { target c++11 } } 2 // { dg-add-options tls } 3 // { dg-require-effective-target tls_runtime } 4 5 extern "C" void abort(); 6 7 struct A 8 { 9 A(); 10 int i; 11 }; 12 f()13A &f() 14 { 15 thread_local A a; 16 return a; 17 } 18 19 int j; A()20A::A(): i(j) { } 21 main()22int main() 23 { 24 j = 42; 25 if (f().i != 42) 26 abort (); 27 } 28