Small ChangeLog tweak.
[official-gcc.git] / gcc / testsuite / gcc.dg / tls / pr58595.c
blobe7827d79d77ea26e57ad97834c1f69d98ec34b4b
1 /* PR target/58595 */
2 /* { dg-do run } */
3 /* { dg-options "-O2" } */
4 /* { dg-additional-options "-fpic" { target fpic } } */
5 /* { dg-add-options tls } */
6 /* { dg-require-effective-target tls_runtime } */
7 /* { dg-require-effective-target sync_int_long } */
9 struct S { unsigned long a, b; };
10 __thread struct S s;
11 void bar (unsigned long *);
13 __attribute__((noinline)) void
14 foo (void)
16 int i;
17 for (i = 0; i < 10; i++)
18 __sync_fetch_and_add (&s.b, 1L);
21 int
22 main ()
24 s.b = 12;
25 foo ();
26 if (s.b != 22)
27 __builtin_abort ();
28 return 0;