1// { dg-do run } 2// { dg-require-effective-target tls_runtime } 3// { dg-add-options tls } 4 5extern void _exit(int); 6 7__thread int glb =1 ; 8 9static __thread int fstat = 2; 10 11int fa(int a) 12{ 13static __thread int as = 3; 14 as += a ; 15 return as; 16} 17 18int fb(int b) 19{ 20static __thread int bs = 4; 21 bs += b ; 22 glb = bs; 23 return bs; 24} 25 26int main (int ac, char *av[]) 27{ 28 int a = 1; 29 30 a = fa(fstat); 31 if ( a != 5 ) 32 _exit (-(__LINE__)) ; 33 34 a = fa(glb); 35 if ( a != 6 ) 36 _exit (-(__LINE__)) ; 37 38 a = fb(a); 39 if ( a != 10 || glb != 10 ) 40 _exit (-(__LINE__)) ; 41 42 return 0; 43} 44