Skip to content

Commit 6d8b022

Browse files
author
Daniel Kroening
committed
fix for inlining
1 parent d7d0ef8 commit 6d8b022

File tree

5 files changed

+46
-18
lines changed

5 files changed

+46
-18
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
inline void my_func(int x)
2+
{
3+
if(x)
4+
{
5+
}
6+
else
7+
{
8+
}
9+
}
10+
11+
int main()
12+
{
13+
my_func(0);
14+
my_func(1);
15+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
CORE
2+
main.c
3+
--cover branch
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^\[my_func.coverage.1\] file main.c line 3 function my_func function my_func block 1 branch false: SATISFIED$
7+
^\[my_func.coverage.2\] file main.c line 3 function my_func function my_func block 1 branch true: FAILED$
8+
^\[my_func.coverage.3\] file main.c line 3 function my_func function my_func block 2 branch false: FAILED$
9+
^\[my_func.coverage.4\] file main.c line 3 function my_func function my_func block 2 branch true: SATISFIED$
10+
--
11+
^warning: ignoring

regression/cbmc-cover/location11/test.desc

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ main.c
33
--cover location
44
^EXIT=0$
55
^SIGNAL=0$
6-
\[main.coverage.1\] file main.c line 11 function main block 1: SATISFIED
7-
\[main.coverage.2\] file main.c line 13 function main block 2: FAILED
8-
\[main.coverage.3\] file main.c line 13 function main block 3: FAILED
9-
\[main.coverage.4\] file main.c line 15 function main block 4: SATISFIED
10-
\[main.coverage.5\] file main.c line 17 function main block 5: SATISFIED
11-
\[main.coverage.6\] file main.c line 18 function main block 6: SATISFIED
12-
\[main.coverage.7\] file main.c line 20 function main block 7: FAILED
13-
\[main.coverage.8\] file main.c line 22 function main block 8: SATISFIED
14-
\[main.coverage.9\] file main.c line 23 function main block 9: SATISFIED
15-
\[myfunc.coverage.1\] file main.c line 5 function myfunc block 1: FAILED
16-
\[myfunc.coverage.2\] file main.c line 7 function myfunc block 2: FAILED
6+
^\[main.coverage.1\] file main.c line 11 function main block 1: SATISFIED$
7+
^\[main.coverage.2\] file main.c line 13 function main block 2: FAILED$
8+
^\[main.coverage.3\] file main.c line 13 function main block 3: FAILED$
9+
^\[main.coverage.4\] file main.c line 15 function main block 4: SATISFIED$
10+
^\[main.coverage.5\] file main.c line 17 function main block 5: SATISFIED$
11+
^\[main.coverage.6\] file main.c line 18 function main block 6: SATISFIED$
12+
^\[main.coverage.7\] file main.c line 20 function main block 7: FAILED$
13+
^\[main.coverage.8\] file main.c line 22 function main block 8: SATISFIED$
14+
^\[main.coverage.9\] file main.c line 23 function main block 9: SATISFIED$
15+
^\[myfunc.coverage.1\] file main.c line 5 function myfunc block 1: FAILED$
16+
^\[myfunc.coverage.2\] file main.c line 7 function myfunc block 2: FAILED$
1717
^\*\* 6 of 11 covered \(54.5%\)
1818
--
1919
^warning: ignoring

regression/cbmc-cover/location14/test.desc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ main.c
33
--cover location
44
^EXIT=0$
55
^SIGNAL=0$
6-
\[main.coverage.1\] file main.c line 10 function main block 1: SATISFIED
7-
\[main.coverage.2\] file main.c line 12 function main block 2: FAILED
8-
\[main.coverage.3\] file main.c line 12 function main block 3: FAILED
9-
\[main.coverage.4\] file main.c line 12 function main block 4: FAILED
10-
\[main.coverage.5\] file main.c line 13 function main block 6: SATISFIED
11-
\[foo.coverage.1\] file main.c line 5 function foo block 1: FAILED
12-
\[foo.coverage.2\] file main.c line 6 function foo block 2: FAILED
6+
^\[main.coverage.1\] file main.c line 10 function main block 1: SATISFIED$
7+
^\[main.coverage.2\] file main.c line 12 function main block 2: FAILED$
8+
^\[main.coverage.3\] file main.c line 12 function main block 3: FAILED$
9+
^\[main.coverage.4\] file main.c line 12 function main block 4: FAILED$
10+
^\[main.coverage.5\] file main.c line 13 function main block 6: SATISFIED$
11+
^\[foo.coverage.1\] file main.c line 5 function foo block 1: FAILED$
12+
^\[foo.coverage.2\] file main.c line 6 function foo block 2: FAILED$
1313
^\*\* 2 of 7 covered \(28.6%\)
1414
--
1515
^warning: ignoring

src/cbmc/bmc_cover.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,8 @@ bool bmc_covert::operator()()
235235
// This maps property IDs to 'goalt'
236236
forall_goto_functions(f_it, goto_functions)
237237
{
238+
// Functions are already inlined.
239+
if(f_it->second.is_inlined()) continue;
238240
forall_goto_program_instructions(i_it, f_it->second.body)
239241
{
240242
if(i_it->is_assert())

0 commit comments

Comments
 (0)