File tree Expand file tree Collapse file tree 3 files changed +19
-5
lines changed
regression/goto-instrument Expand file tree Collapse file tree 3 files changed +19
-5
lines changed Original file line number Diff line number Diff line change 1
1
#! /bin/bash
2
2
3
+ set -e
4
+
3
5
src=../../../src
4
6
goto_cc=$src /goto-cc/goto-cc
5
7
goto_instrument=$src /goto-instrument/goto-instrument
8
+ cbmc=$src /cbmc/cbmc
6
9
7
10
name=${@: $# }
8
11
name=${name% .c}
9
12
10
13
args=${@: 1: $# -1}
11
14
12
15
$goto_cc -o $name .gb $name .c
13
- $goto_instrument $args $name .gb
16
+ # $goto_instrument --show-goto-functions $name.gb
17
+ $goto_instrument $args $name .gb ${name} -mod.gb
18
+ if [ ! -e ${name} -mod.gb ] ; then
19
+ cp $name .gb ${name} -mod.gb
20
+ elif echo " $args " | grep -q -- " --dump-c" ; then
21
+ mv ${name} -mod.gb ${name} -mod.c
22
+ $goto_cc ${name} -mod.c -o ${name} -mod.gb
23
+ rm ${name} -mod.c
24
+ fi
25
+ $goto_instrument --show-goto-functions ${name} -mod.gb
26
+ $cbmc ${name} -mod.gb
14
27
Original file line number Diff line number Diff line change @@ -24,9 +24,10 @@ void func2()
24
24
s2 .a = 7 ;
25
25
}
26
26
27
- void func3 ()
27
+ void func3 (int a )
28
28
{
29
- func3 ();
29
+ if (a > 0 )
30
+ func3 (a - 1 );
30
31
}
31
32
32
33
int main ()
@@ -36,7 +37,7 @@ int main()
36
37
37
38
func2 ();
38
39
39
- func3 ();
40
+ func3 (1 );
40
41
41
42
return 0 ;
42
43
}
Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.c
3
- --slice-global-inits --show-goto-functions
3
+ --slice-global-inits
4
4
z = 0;$
5
5
a =
6
6
s2 =
You can’t perform that action at this time.
0 commit comments