1 // Test that blacklisted functions are still contained in the stack trace.
3 // RUN: %clangxx_tsan -O1 %s -fsanitize-blacklist=%p/Helpers/blacklist.txt -o %t
4 // RUN: %deflake %run %t 2>&1 | FileCheck %s
11 void *Thread1(void *x
) {
13 // CHECK: ThreadSanitizer: data race
14 // CHECK: Write of size 4
15 // CHECK: #0 Thread1{{.*}}blacklist2.cc:[[@LINE+1]]
21 // CHECK: Previous write of size 4
22 // CHECK: #0 TouchGlobal(){{.*}}blacklist2.cc:[[@LINE+1]]
26 void CallTouchGlobal() {
27 // CHECK: #1 CallTouchGlobal{{.*}}blacklist2.cc:[[@LINE+1]]
31 void *Blacklisted_Thread2(void *x
) {
33 // CHECK: #2 Blacklisted_Thread2{{.*}}blacklist2.cc:[[@LINE+1]]
40 pthread_create(&t
[0], NULL
, Thread1
, NULL
);
41 pthread_create(&t
[1], NULL
, Blacklisted_Thread2
, NULL
);
42 pthread_join(t
[0], NULL
);
43 pthread_join(t
[1], NULL
);