]>
git.proxmox.com Git - rustc.git/blob - src/llvm/projects/compiler-rt/lib/tsan/lit_tests/race_on_heap.cc
1 // RUN: %clangxx_tsan -O1 %s -o %t && %t 2>&1 | FileCheck %s
6 void *Thread1(void *p
) {
11 void *Thread2(void *p
) {
20 void *AllocThread(void* arg
) {
27 pthread_create(&t
[0], 0, AllocThread
, 0);
28 pthread_join(t
[0], &p
);
29 fprintf(stderr
, "addr=%p\n", p
);
30 pthread_create(&t
[0], 0, Thread1
, (char*)p
+ 16);
31 pthread_create(&t
[1], 0, Thread2
, (char*)p
+ 16);
32 pthread_join(t
[0], 0);
33 pthread_join(t
[1], 0);
37 // CHECK: addr=[[ADDR:0x[0-9,a-f]+]]
38 // CHECK: WARNING: ThreadSanitizer: data race
40 // CHECK: Location is heap block of size 99 at [[ADDR]] allocated by thread 1:
43 // CHECK: #2 AllocThread
45 // CHECK: Thread 1 (finished) created at:
46 // CHECK: #0 pthread_create