1 /* { dg-shouldfail "tsan" } */
2 /* { dg-additional-options "-ldl" } */
5 #include "tsan_barrier.h"
7 static pthread_barrier_t barrier
;
9 void *Thread(void *x
) {
10 pthread_mutex_lock((pthread_mutex_t
*)x
);
11 pthread_mutex_unlock((pthread_mutex_t
*)x
);
12 barrier_wait(&barrier
);
17 barrier_init(&barrier
, 2);
19 pthread_mutex_init(&Mtx
, 0);
21 pthread_create(&t
, 0, Thread
, &Mtx
);
22 barrier_wait(&barrier
);
23 pthread_mutex_destroy(&Mtx
);
28 /* { dg-output "WARNING: ThreadSanitizer: data race.*(\n|\r\n|\r)" } */