tsan/msan: add halt_on_error flag
[blocksruntime.git] / lib / tsan / lit_tests / halt_on_error.cc
blobfddaffff29aae2f6543b5b5ef72d94e518288308
1 // RUN: %clang_tsan -O1 %s -o %t && TSAN_OPTIONS="$TSAN_OPTIONS halt_on_error=1" not %t 2>&1 | FileCheck %s
2 #include <pthread.h>
3 #include <stdio.h>
5 int X;
7 void *Thread(void *x) {
8 X = 42;
9 return 0;
12 int main() {
13 fprintf(stderr, "BEFORE\n");
14 pthread_t t;
15 pthread_create(&t, 0, Thread, 0);
16 X = 43;
17 pthread_join(t, 0);
18 fprintf(stderr, "AFTER\n");
19 return 0;
22 // CHECK: BEFORE
23 // CHECK: WARNING: ThreadSanitizer: data race
24 // CHECK-NOT: AFTER