summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/lit_tests
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/lib/tsan/lit_tests')
-rw-r--r--compiler-rt/lib/tsan/lit_tests/mutexset1.cc16
-rw-r--r--compiler-rt/lib/tsan/lit_tests/mutexset2.cc16
-rw-r--r--compiler-rt/lib/tsan/lit_tests/mutexset3.cc22
-rw-r--r--compiler-rt/lib/tsan/lit_tests/mutexset4.cc22
-rw-r--r--compiler-rt/lib/tsan/lit_tests/mutexset5.cc24
-rw-r--r--compiler-rt/lib/tsan/lit_tests/mutexset6.cc24
-rw-r--r--compiler-rt/lib/tsan/lit_tests/signal_malloc.cc7
7 files changed, 59 insertions, 72 deletions
diff --git a/compiler-rt/lib/tsan/lit_tests/mutexset1.cc b/compiler-rt/lib/tsan/lit_tests/mutexset1.cc
index e27e0566a37..f32a770ab07 100644
--- a/compiler-rt/lib/tsan/lit_tests/mutexset1.cc
+++ b/compiler-rt/lib/tsan/lit_tests/mutexset1.cc
@@ -20,6 +20,13 @@ void *Thread2(void *x) {
}
int main() {
+ // CHECK: WARNING: ThreadSanitizer: data race
+ // CHECK: Write of size 4 at {{.*}} by thread T1
+ // CHECK: (mutexes: write [[M1:M[0-9]+]]):
+ // CHECK: Previous write of size 4 at {{.*}} by thread T2:
+ // CHECK: Mutex [[M1]] created at:
+ // CHECK: #0 pthread_mutex_init
+ // CHECK: #1 main {{.*}}/mutexset1.cc:[[@LINE+1]]
pthread_mutex_init(&mtx, 0);
pthread_t t[2];
pthread_create(&t[0], NULL, Thread1, NULL);
@@ -28,12 +35,3 @@ int main() {
pthread_join(t[1], NULL);
pthread_mutex_destroy(&mtx);
}
-
-// CHECK: WARNING: ThreadSanitizer: data race
-// CHECK: Write of size 4 at {{.*}} by thread T1
-// CHECK: (mutexes: write [[M1:M[0-9]+]]):
-// CHECK: Previous write of size 4 at {{.*}} by thread T2:
-// CHECK: Mutex [[M1]] created at:
-// CHECK: #0 pthread_mutex_init
-// CHECK: #1 main {{.*}}/mutexset1.cc:23
-
diff --git a/compiler-rt/lib/tsan/lit_tests/mutexset2.cc b/compiler-rt/lib/tsan/lit_tests/mutexset2.cc
index 8c850438349..15d23033251 100644
--- a/compiler-rt/lib/tsan/lit_tests/mutexset2.cc
+++ b/compiler-rt/lib/tsan/lit_tests/mutexset2.cc
@@ -20,6 +20,13 @@ void *Thread2(void *x) {
}
int main() {
+ // CHECK: WARNING: ThreadSanitizer: data race
+ // CHECK: Write of size 4 at {{.*}} by thread T2:
+ // CHECK: Previous write of size 4 at {{.*}} by thread T1
+ // CHECK: (mutexes: write [[M1:M[0-9]+]]):
+ // CHECK: Mutex [[M1]] created at:
+ // CHECK: #0 pthread_mutex_init
+ // CHECK: #1 main {{.*}}/mutexset2.cc:[[@LINE+1]]
pthread_mutex_init(&mtx, 0);
pthread_t t[2];
pthread_create(&t[0], NULL, Thread1, NULL);
@@ -28,12 +35,3 @@ int main() {
pthread_join(t[1], NULL);
pthread_mutex_destroy(&mtx);
}
-
-// CHECK: WARNING: ThreadSanitizer: data race
-// CHECK: Write of size 4 at {{.*}} by thread T2:
-// CHECK: Previous write of size 4 at {{.*}} by thread T1
-// CHECK: (mutexes: write [[M1:M[0-9]+]]):
-// CHECK: Mutex [[M1]] created at:
-// CHECK: #0 pthread_mutex_init
-// CHECK: #1 main {{.*}}/mutexset2.cc:23
-
diff --git a/compiler-rt/lib/tsan/lit_tests/mutexset3.cc b/compiler-rt/lib/tsan/lit_tests/mutexset3.cc
index 63123f844cb..6ac7ad15e4f 100644
--- a/compiler-rt/lib/tsan/lit_tests/mutexset3.cc
+++ b/compiler-rt/lib/tsan/lit_tests/mutexset3.cc
@@ -23,6 +23,16 @@ void *Thread2(void *x) {
}
int main() {
+ // CHECK: WARNING: ThreadSanitizer: data race
+ // CHECK: Write of size 4 at {{.*}} by thread T1
+ // CHECK: (mutexes: write [[M1:M[0-9]+]], write [[M2:M[0-9]+]]):
+ // CHECK: Previous write of size 4 at {{.*}} by thread T2:
+ // CHECK: Mutex [[M1]] created at:
+ // CHECK: #0 pthread_mutex_init
+ // CHECK: #1 main {{.*}}/mutexset3.cc:[[@LINE+4]]
+ // CHECK: Mutex [[M2]] created at:
+ // CHECK: #0 pthread_mutex_init
+ // CHECK: #1 main {{.*}}/mutexset3.cc:[[@LINE+2]]
pthread_mutex_init(&mtx1, 0);
pthread_mutex_init(&mtx2, 0);
pthread_t t[2];
@@ -33,15 +43,3 @@ int main() {
pthread_mutex_destroy(&mtx1);
pthread_mutex_destroy(&mtx2);
}
-
-// CHECK: WARNING: ThreadSanitizer: data race
-// CHECK: Write of size 4 at {{.*}} by thread T1
-// CHECK: (mutexes: write [[M1:M[0-9]+]], write [[M2:M[0-9]+]]):
-// CHECK: Previous write of size 4 at {{.*}} by thread T2:
-// CHECK: Mutex [[M1]] created at:
-// CHECK: #0 pthread_mutex_init
-// CHECK: #1 main {{.*}}/mutexset3.cc:26
-// CHECK: Mutex [[M2]] created at:
-// CHECK: #0 pthread_mutex_init
-// CHECK: #1 main {{.*}}/mutexset3.cc:27
-
diff --git a/compiler-rt/lib/tsan/lit_tests/mutexset4.cc b/compiler-rt/lib/tsan/lit_tests/mutexset4.cc
index 68ed4756b9d..75684cf9ae5 100644
--- a/compiler-rt/lib/tsan/lit_tests/mutexset4.cc
+++ b/compiler-rt/lib/tsan/lit_tests/mutexset4.cc
@@ -23,6 +23,16 @@ void *Thread2(void *x) {
}
int main() {
+ // CHECK: WARNING: ThreadSanitizer: data race
+ // CHECK: Write of size 4 at {{.*}} by thread T2:
+ // CHECK: Previous write of size 4 at {{.*}} by thread T1
+ // CHECK: (mutexes: write [[M1:M[0-9]+]], write [[M2:M[0-9]+]]):
+ // CHECK: Mutex [[M1]] created at:
+ // CHECK: #0 pthread_mutex_init
+ // CHECK: #1 main {{.*}}/mutexset4.cc:[[@LINE+4]]
+ // CHECK: Mutex [[M2]] created at:
+ // CHECK: #0 pthread_mutex_init
+ // CHECK: #1 main {{.*}}/mutexset4.cc:[[@LINE+2]]
pthread_mutex_init(&mtx1, 0);
pthread_mutex_init(&mtx2, 0);
pthread_t t[2];
@@ -33,15 +43,3 @@ int main() {
pthread_mutex_destroy(&mtx1);
pthread_mutex_destroy(&mtx2);
}
-
-// CHECK: WARNING: ThreadSanitizer: data race
-// CHECK: Write of size 4 at {{.*}} by thread T2:
-// CHECK: Previous write of size 4 at {{.*}} by thread T1
-// CHECK: (mutexes: write [[M1:M[0-9]+]], write [[M2:M[0-9]+]]):
-// CHECK: Mutex [[M1]] created at:
-// CHECK: #0 pthread_mutex_init
-// CHECK: #1 main {{.*}}/mutexset4.cc:26
-// CHECK: Mutex [[M2]] created at:
-// CHECK: #0 pthread_mutex_init
-// CHECK: #1 main {{.*}}/mutexset4.cc:27
-
diff --git a/compiler-rt/lib/tsan/lit_tests/mutexset5.cc b/compiler-rt/lib/tsan/lit_tests/mutexset5.cc
index 85fdadd81b7..6e75810aff2 100644
--- a/compiler-rt/lib/tsan/lit_tests/mutexset5.cc
+++ b/compiler-rt/lib/tsan/lit_tests/mutexset5.cc
@@ -23,6 +23,17 @@ void *Thread2(void *x) {
}
int main() {
+ // CHECK: WARNING: ThreadSanitizer: data race
+ // CHECK: Write of size 4 at {{.*}} by thread T1
+ // CHECK: (mutexes: write [[M1:M[0-9]+]]):
+ // CHECK: Previous write of size 4 at {{.*}} by thread T2
+ // CHECK: (mutexes: write [[M2:M[0-9]+]]):
+ // CHECK: Mutex [[M1]] created at:
+ // CHECK: #0 pthread_mutex_init
+ // CHECK: #1 main {{.*}}/mutexset5.cc:[[@LINE+4]]
+ // CHECK: Mutex [[M2]] created at:
+ // CHECK: #0 pthread_mutex_init
+ // CHECK: #1 main {{.*}}/mutexset5.cc:[[@LINE+5]]
pthread_mutex_init(&mtx1, 0);
pthread_mutex_init(&mtx2, 0);
pthread_t t[2];
@@ -33,16 +44,3 @@ int main() {
pthread_mutex_destroy(&mtx1);
pthread_mutex_destroy(&mtx2);
}
-
-// CHECK: WARNING: ThreadSanitizer: data race
-// CHECK: Write of size 4 at {{.*}} by thread T1
-// CHECK: (mutexes: write [[M1:M[0-9]+]]):
-// CHECK: Previous write of size 4 at {{.*}} by thread T2
-// CHECK: (mutexes: write [[M2:M[0-9]+]]):
-// CHECK: Mutex [[M1]] created at:
-// CHECK: #0 pthread_mutex_init
-// CHECK: #1 main {{.*}}/mutexset5.cc:26
-// CHECK: Mutex [[M2]] created at:
-// CHECK: #0 pthread_mutex_init
-// CHECK: #1 main {{.*}}/mutexset5.cc:27
-
diff --git a/compiler-rt/lib/tsan/lit_tests/mutexset6.cc b/compiler-rt/lib/tsan/lit_tests/mutexset6.cc
index b28c21c5813..4b19a12e043 100644
--- a/compiler-rt/lib/tsan/lit_tests/mutexset6.cc
+++ b/compiler-rt/lib/tsan/lit_tests/mutexset6.cc
@@ -28,6 +28,17 @@ void *Thread2(void *x) {
}
int main() {
+ // CHECK: WARNING: ThreadSanitizer: data race
+ // CHECK: Write of size 4 at {{.*}} by thread T1
+ // CHECK: (mutexes: write [[M1:M[0-9]+]]):
+ // CHECK: Previous write of size 4 at {{.*}} by thread T2
+ // CHECK: (mutexes: write [[M2:M[0-9]+]], read [[M3:M[0-9]+]]):
+ // CHECK: Mutex [[M1]] created at:
+ // CHECK: #1 main {{.*}}/mutexset6.cc:[[@LINE+5]]
+ // CHECK: Mutex [[M2]] created at:
+ // CHECK: #1 main {{.*}}/mutexset6.cc:[[@LINE+4]]
+ // CHECK: Mutex [[M3]] created at:
+ // CHECK: #1 main {{.*}}/mutexset6.cc:[[@LINE+3]]
pthread_mutex_init(&mtx1, 0);
pthread_spin_init(&mtx2, 0);
pthread_rwlock_init(&mtx3, 0);
@@ -40,16 +51,3 @@ int main() {
pthread_spin_destroy(&mtx2);
pthread_rwlock_destroy(&mtx3);
}
-
-// CHECK: WARNING: ThreadSanitizer: data race
-// CHECK: Write of size 4 at {{.*}} by thread T1
-// CHECK: (mutexes: write [[M1:M[0-9]+]]):
-// CHECK: Previous write of size 4 at {{.*}} by thread T2
-// CHECK: (mutexes: write [[M2:M[0-9]+]], read [[M3:M[0-9]+]]):
-// CHECK: Mutex [[M1]] created at:
-// CHECK: #1 main {{.*}}/mutexset6.cc:31
-// CHECK: Mutex [[M2]] created at:
-// CHECK: #1 main {{.*}}/mutexset6.cc:32
-// CHECK: Mutex [[M3]] created at:
-// CHECK: #1 main {{.*}}/mutexset6.cc:33
-
diff --git a/compiler-rt/lib/tsan/lit_tests/signal_malloc.cc b/compiler-rt/lib/tsan/lit_tests/signal_malloc.cc
index 86ae4367cdd..cee997cdb76 100644
--- a/compiler-rt/lib/tsan/lit_tests/signal_malloc.cc
+++ b/compiler-rt/lib/tsan/lit_tests/signal_malloc.cc
@@ -6,6 +6,9 @@
#include <unistd.h>
static void handler(int, siginfo_t*, void*) {
+ // CHECK: WARNING: ThreadSanitizer: signal-unsafe call inside of a signal
+ // CHECK: #0 malloc
+ // CHECK: #1 handler(int, siginfo*, void*) {{.*}}signal_malloc.cc:[[@LINE+1]]
volatile char *p = (char*)malloc(1);
p[0] = 0;
free((void*)p);
@@ -20,7 +23,3 @@ int main() {
return 0;
}
-// CHECK: WARNING: ThreadSanitizer: signal-unsafe call inside of a signal
-// CHECK: #0 malloc
-// CHECK: #1 handler(int, siginfo*, void*) {{.*}}signal_malloc.cc:9
-
OpenPOWER on IntegriCloud