1 // RUN: %clangxx_tsan -O1 %s -o %t && %deflake %run %t | FileCheck %s 2 #include "test.h" 3 4 int Global; 5 pthread_mutex_t Mutex = PTHREAD_MUTEX_INITIALIZER; Thread(void * a)6 7 void *Thread(void *x) { 8 AnnotateIgnoreSyncBegin(0, 0); 9 pthread_mutex_lock(&Mutex); 10 Global++; 11 pthread_mutex_unlock(&Mutex); 12 AnnotateIgnoreSyncEnd(0, 0); 13 return 0; 14 } 15 16 int main() { 17 pthread_t t; 18 pthread_create(&t, 0, Thread, 0); 19 pthread_mutex_lock(&Mutex); 20 Global++; 21 pthread_mutex_unlock(&Mutex); 22 pthread_join(t, 0); 23 } 24 25 // CHECK: WARNING: ThreadSanitizer: data race 26 27