1 // RUN: %clangxx_tsan %darwin_min_target_with_tls_support -O1 %s -o %t && \
2 // RUN: %deflake %run %t | \
3 // RUN: FileCheck %s --check-prefix=CHECK-%os --check-prefix=CHECK
6 void *Thread(void *a
) {
7 barrier_wait(&barrier
);
13 barrier_init(&barrier
, 2);
14 static __thread
int Var
= 42;
16 pthread_create(&t
, 0, Thread
, &Var
);
18 barrier_wait(&barrier
);
22 // CHECK: WARNING: ThreadSanitizer: data race
23 // CHECK-Linux: Location is TLS of main thread.
24 // CHECK-FreeBSD: Location is TLS of main thread.
25 // CHECK-NetBSD: Location is TLS of main thread.
26 // CHECK-Darwin: Location is heap block of size 4