@@ -5,5 +5,74 @@ activate-multi-line-match
5
5
EXIT=0
6
6
SIGNAL=0
7
7
\/\/ ([0-9]+) file.*\n.*IF.*g_in1.*THEN GOTO(.*\n)*Control dependencies: \1\n\n.*\n.*g_out = 1
8
+ \/\/ ([0-9]+) file.*\n.*IF.*g_in2.*THEN GOTO(.*\n)*Control dependencies: \1\n\n.*\n.*x = 0
9
+ \/\/ ([0-9]+) file.*\n.*IF.*g_in2.*THEN GOTO(.*\n)*Control dependencies: \1\n\n.*\n.*x = 1
8
10
--
9
11
^warning: ignoring
12
+ \/\/ ([0-9]+) file.*\n.*IF.*g_in1.*THEN GOTO(.*\n)*Control dependencies: (([0-9]+,\1)|(\1,[0-9]+)|(\1))\n(.*\n){2,3}.*x = 0
13
+ \/\/ ([0-9]+) file.*\n.*IF.*g_in1.*THEN GOTO(.*\n)*Control dependencies: (([0-9]+,\1)|(\1,[0-9]+)|(\1))\n(.*\n){2,3}.*x = 1
14
+ --
15
+ The first regex above matches output portions like shown below (with <N> being a
16
+ location number). The intention is to check whether the assignment has a control
17
+ dependency on the goto statement.
18
+
19
+ // <N> file main.c line 7 function main
20
+ IF !(g_in1 != 0) THEN GOTO 3
21
+ ...
22
+ **** 3 file main.c line 14 function main
23
+ Control dependencies: <N>
24
+
25
+ // 3 file main.c line 14 function main
26
+ g_out = 1;
27
+
28
+ The second regex above matches output portions like shown below (with <N> being
29
+ a location number). The intention is to check whether the assignment has a
30
+ control dependency on the goto statement.
31
+
32
+ // <N> file main.c line 9 function main
33
+ IF !(g_in2 != 0) THEN GOTO 3
34
+ ...
35
+ **** 3 file main.c line 10 function main
36
+ Control dependencies: <N>
37
+
38
+ // 3 file main.c line 10 function main
39
+ x = 0;
40
+
41
+ The third regex above matches output portions like shown below (with <N> being
42
+ a location number). The intention is to check whether the assignment has a
43
+ control dependency on the goto statement.
44
+
45
+ // <N> file main.c line 9 function main
46
+ IF !(g_in2 != 0) THEN GOTO 3
47
+ ...
48
+ **** 3 file main.c line 12 function main
49
+ Control dependencies: <N>
50
+
51
+ // 3 file main.c line 12 function main
52
+ x = 1;
53
+
54
+ The fourth regex above matches output portions like shown below (with <N> being
55
+ a location number). The intention is to check whether the assignment has a
56
+ control dependency on the goto statement.
57
+
58
+ // <N> file main.c line 7 function main
59
+ IF g_in1 != 0 THEN GOTO 2
60
+ ...
61
+ **** 6 file main.c line 10 function main
62
+ Control dependencies: (...,<N>)|(<N>,...)|<N>
63
+
64
+ // 6 file main.c line 10 function main
65
+ x = 0;
66
+
67
+ The fifth regex above matches output portions like shown below (with <N> being
68
+ a location number). The intention is to check whether the assignment has a
69
+ control dependency on the goto statement.
70
+
71
+ // <N> file main.c line 7 function main
72
+ IF g_in1 != 0 THEN GOTO 2
73
+ ...
74
+ **** 6 file main.c line 12 function main
75
+ Control dependencies: (...,<N>)|(<N>,...)|<N>
76
+
77
+ // 6 file main.c line 12 function main
78
+ x = 1;
0 commit comments