1 /* PR sanitizer/65400 */
2 /* { dg-shouldfail "tsan" } */
3 /* { dg-additional-options "-fno-omit-frame-pointer -ldl" } */
4 /* { dg-additional-sources pr65400-2.c } */
7 #include "tsan_barrier.h"
9 static pthread_barrier_t barrier
;
13 extern void baz4 (int *);
15 __attribute__((noinline
, noclone
)) int
25 if (__builtin_expect (x
== 0, 1))
27 bar (bar (bar (bar (*x
))));
30 __attribute__((noinline
, noclone
)) void
36 __attribute__((noinline
, noclone
)) void
42 __attribute__((noinline
, noclone
)) void
45 barrier_wait (&barrier
);
49 __attribute__((noinline
, noclone
)) void
57 for (i
= 0; i
< 128; i
++)
64 __attribute__((noinline
, noclone
)) void *
76 barrier_init (&barrier
, 2);
77 if (pthread_create (&th
, NULL
, tf
, NULL
))
80 barrier_wait (&barrier
);
81 pthread_join (th
, NULL
);
85 /* { dg-output "WARNING: ThreadSanitizer: data race.*#2 _?tf" } */