]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/compiler-rt/lib/tsan/check_analyze.sh
Update compiler-rt to trunk r228651. This enables using Address
[FreeBSD/FreeBSD.git] / contrib / compiler-rt / lib / tsan / check_analyze.sh
1 #!/bin/bash
2 set -u
3
4 RES=$(./analyze_libtsan.sh)
5 PrintRes() {
6   printf "%s\n" "$RES"
7 }
8
9 PrintRes
10
11 check() {
12   res=$(PrintRes | egrep "$1 .* $2 $3; ")
13   if [ "$res" == "" ]; then
14     echo FAILED $1 must contain $2 $3
15     exit 1
16   fi
17 }
18
19 for f in write1; do
20   check $f rsp 1
21   check $f push 2
22   check $f pop 2
23 done
24
25 for f in write2 write4 write8; do
26   check $f rsp 1
27   check $f push 3
28   check $f pop 3
29 done
30
31 for f in read1 read2 read4 read8; do
32   check $f rsp 1
33   check $f push 5
34   check $f pop 5
35 done
36
37 for f in func_entry func_exit; do
38   check $f rsp 0
39   check $f push 0
40   check $f pop 0
41   check $f call 1  # TraceSwitch()
42 done
43
44 echo LGTM