1// RUN: %clangxx_tsan -O1 %s -o %t && %deflake %run %t | FileCheck %s
2extern "C" void AnnotateIgnoreReadsBegin(const char *f, int l);
3extern "C" void AnnotateIgnoreReadsEnd(const char *f, int l);
4
5int main() {
6 AnnotateIgnoreReadsBegin("", 0);
7 AnnotateIgnoreReadsBegin("", 0);
8 AnnotateIgnoreReadsEnd("", 0);
9 AnnotateIgnoreReadsEnd("", 0);
10 AnnotateIgnoreReadsBegin("", 0);
11 AnnotateIgnoreReadsBegin("", 0);
12 AnnotateIgnoreReadsEnd("", 0);
13}
14
15// CHECK: ThreadSanitizer: main thread finished with ignores enabled
16// CHECK: Ignore was enabled at:
17// CHECK: #0 AnnotateIgnoreReadsBegin
18// CHECK: #1 main {{.*}}thread_end_with_ignore3.cpp:10
19// CHECK: Ignore was enabled at:
20// CHECK: #0 AnnotateIgnoreReadsBegin
21// CHECK: #1 main {{.*}}thread_end_with_ignore3.cpp:11
22
23