brintos

brintos / llvm-project-archived public Read only

0
0
Text · 458 B · c50f4ad Raw
22 lines · cpp
1// RUN: %clangxx_tsan -O1 %s -o %t && %deflake %run %t | FileCheck %s2#include "test.h"3 4void *Thread(void *a) {5  barrier_wait(&barrier);6  ((int *)a)[1] = 43;7  return 0;8}9 10int main() {11  barrier_init(&barrier, 2);12  int Arr[2] = {41, 42};13  pthread_t t;14  pthread_create(&t, 0, Thread, &Arr[0]);15  Arr[1] = 43;16  barrier_wait(&barrier);17  pthread_join(t, 0);18}19 20// CHECK: WARNING: ThreadSanitizer: data race21// CHECK:   Location is stack of main thread.22