Skip to content

Commit 99e3fcd

Browse files
committed
Remove __CPROVER_malloc_object
Its use was deprecated since 2021-05-06. The only remaining need for tracking this object is to distinguish new vs new[] (and delete vs delete[]). This specific case is now handled via __CPROVER_new_object.
1 parent 8aab2e5 commit 99e3fcd

File tree

35 files changed

+210
-270
lines changed

35 files changed

+210
-270
lines changed

doc/architectural/memory-bounds-checking.md

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,10 @@ inline void *malloc(__CPROVER_size_t malloc_size)
3030
{
3131
void *malloc_res;
3232
malloc_res = __CPROVER_allocate(malloc_size, 0);
33-
34-
__CPROVER_bool record_malloc = __VERIFIER_nondet___CPROVER_bool();
35-
__CPROVER_malloc_object = record_malloc ? malloc_res : __CPROVER_malloc_object;
36-
3733
return malloc_res;
3834
}
3935
```
4036
41-
The internal variable `__CPROVER_malloc_object`
42-
is initialized to 0 in the `__CPROVER_initialize()` function of a goto program.
43-
The nondeterministic switch controls whether the address of the memory
44-
block allocated in this particular invocation of `malloc()` is recorded.
45-
4637
When the option `--pointer-check` is used, cbmc generates the following
4738
verification condition for each pointer dereference expression (e.g.,
4839
`*pointer`):
@@ -73,8 +64,7 @@ int main()
7364
```
7465

7566
Here the verification condition generated for the pointer dereference should
76-
fail. In the approach outlined above it indeed can, as one can choose true for
77-
`__VERIFIER_nondet___CPROVER_bool()` in the first call
78-
to `malloc()`, and false for `__VERIFIER_nondet___CPROVER_bool()` in the second
79-
call to `malloc()`. Thus, the object address of the first call to
80-
`malloc()` is recorded in `__CPROVER_malloc_object`.
67+
fail: for `p1` in `*p1`, `__CPROVER_POINTER_OFFSET` will evaluate to 1 (owing to
68+
the increment `p1++`, and `__CPROVER_OBJECT_SIZE` will also evaluate to 1.
69+
Consequently, the less-than comparison in the verification condition evaluates
70+
to false.

jbmc/src/java_bytecode/java_bytecode_internal_additions.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,6 @@ void java_internal_additions(symbol_table_baset &dest)
3636
dest.add(symbol);
3737
}
3838

39-
// add __CPROVER_malloc_object
40-
41-
{
42-
symbolt symbol;
43-
symbol.base_name = CPROVER_PREFIX "malloc_object";
44-
symbol.name=CPROVER_PREFIX "malloc_object";
45-
symbol.type = pointer_type(java_void_type());
46-
symbol.mode=ID_C;
47-
symbol.is_lvalue=true;
48-
symbol.is_state_var=true;
49-
symbol.is_thread_local=true;
50-
dest.add(symbol);
51-
}
52-
5339
{
5440
auxiliary_symbolt symbol;
5541
symbol.base_name = INFLIGHT_EXCEPTION_VARIABLE_BASENAME;

regression/goto-analyzer/constant_propagation_01/test-vsd.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--variable-sensitivity --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 6, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 16, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_01/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 6, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 16, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_02/test-vsd.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--variable-sensitivity --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 15, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_02/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 15, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_03/test-vsd.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--variable-sensitivity --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 15, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_03/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 15, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_04/test-vsd.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--variable-sensitivity --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 15, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_04/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 15, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_07/test-vsd.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--variable-sensitivity --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 3, assigns: 9, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 3, assigns: 8, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 1, assigns: 17, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_07/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 3, assigns: 9, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 3, assigns: 8, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 1, assigns: 17, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_08/test-vsd.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--variable-sensitivity --vsd-arrays every-element --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 2, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 2, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 3, assigns: 16, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_11/test-vsd.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--variable-sensitivity --vsd-arrays every-element --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 1, assigns: 13, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_11/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 8, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 1, assigns: 13, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_12/test-vsd.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--variable-sensitivity --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 6, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 1, assigns: 14, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_12/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 7, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 6, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 1, assigns: 14, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/sensitivity-last-written-locations-arrays/test.desc

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,29 @@ activate-multi-line-match
88
main#return_value \(\) -> TOP @ \[1\]
99
__CPROVER_dead_object \(\) -> TOP @ \[5\]
1010
__CPROVER_deallocated \(\) -> TOP @ \[6\]
11-
__CPROVER_malloc_is_new_array \(\) -> FALSE @ \[9\]
12-
__CPROVER_malloc_object \(\) -> TOP @ \[10\]
13-
__CPROVER_memory_leak \(\) -> TOP @ \[12\]
14-
__CPROVER_next_thread_key \(\) -> 0ul @ \[14\]
15-
__CPROVER_pipe_count \(\) -> 0u @ \[15\]
16-
__CPROVER_rounding_mode \(\) -> 0 @ \[16\]
17-
__CPROVER_thread_id \(\) -> 0ul @ \[17\]
18-
__CPROVER_threads_exited \(\) -> TOP @ \[20\]
19-
do_arrays::1::bool_ \(\) -> TOP @ \[22\]
20-
do_arrays::1::bool_1 \(\) -> TOP @ \[23\]
21-
do_arrays::1::bool_2 \(\) -> TOP @ \[24\]
22-
do_arrays::1::x \(\) -> \{\[0\] = 10 @ \[26\]\n\} @ \[26\]
23-
do_arrays::1::x \(\) -> \{\[0\] = 10 @ \[26\]\n\[1\] = 20 @ \[27\]\n\} @ \[27\]
24-
do_arrays::1::x \(\) -> \{\[0\] = 30 @ \[28\]\n\[1\] = 20 @ \[27\]\n\} @ \[28\]
25-
do_arrays::1::x \(\) -> \{\[0\] = 30 @ \[28\]\n\[1\] = 40 @ \[29\]\n\} @ \[29\]
26-
do_arrays::1::x \(\) -> \{\[0\] = 30 @ \[28\]\n\[1\] = 30 @ \[30\]\n\} @ \[30\]
27-
do_arrays::1::x \(\) -> \{\[0\] = 30 @ \[31\]\n\[1\] = 30 @ \[30\]\n\} @ \[31\]
28-
do_arrays::1::x \(\) -> \{\[0\] = 5 @ \[32\]\n\[1\] = 30 @ \[30\]\n\} @ \[32\]
29-
do_arrays::1::x \(\) -> \{\[0\] = 15 @ \[33\]\n\[1\] = 30 @ \[30\]\n\} @ \[33\]
30-
do_arrays::1::x \(\) -> \{\[0\] = 15 @ \[33\]\n\[1\] = 10 @ \[34\]\n\} @ \[34\]
31-
do_arrays::1::x \(\) -> \{\[0\] = 20 @ \[36\]\n\[1\] = 10 @ \[34\]\n\} @ \[36\]
32-
do_arrays::1::x \(\) -> \{\[0\] = 20 @ \[36\, 38\]\n\[1\] = 10 @ \[34\]\n\} @ \[36\, 38\]
33-
do_arrays::1::x \(\) -> \{\[0\] = 0 @ \[40]\n\[1\] = 10 @ \[34\]\n\} @ \[40\]
34-
do_arrays::1::x \(\) -> \{\[0\] = 3 @ \[42]\n\[1\] = 10 @ \[34\]\n\} @ \[42\]
35-
do_arrays::1::x \(\) -> \{\[0\] = TOP @ \[42\, 44]\n\[1\] = 10 @ \[34\]\n\} @ \[42\, 44\]
36-
do_arrays::1::x \(\) -> \{\[0\] = TOP @ \[42\, 44\, 47]\n\[1\] = 10 @ \[49\]\n\} @ \[49\]
37-
do_arrays::1::x \(\) -> \{\[0\] = 20 @ \[50]\n\[1\] = 10 @ \[49\]\n\} @ \[50\]
11+
__CPROVER_memory_leak \(\) -> TOP @ \[10\]
12+
__CPROVER_new_object \(\) -> TOP @ \[11\]
13+
__CPROVER_next_thread_key \(\) -> 0ul @ \[13\]
14+
__CPROVER_pipe_count \(\) -> 0u @ \[14\]
15+
__CPROVER_rounding_mode \(\) -> 0 @ \[15\]
16+
__CPROVER_thread_id \(\) -> 0ul @ \[16\]
17+
__CPROVER_threads_exited \(\) -> TOP @ \[19\]
18+
do_arrays::1::bool_ \(\) -> TOP @ \[21\]
19+
do_arrays::1::bool_1 \(\) -> TOP @ \[22\]
20+
do_arrays::1::bool_2 \(\) -> TOP @ \[23\]
21+
do_arrays::1::x \(\) -> \{\[0\] = 10 @ \[25\]\n\} @ \[25\]
22+
do_arrays::1::x \(\) -> \{\[0\] = 10 @ \[25\]\n\[1\] = 20 @ \[26\]\n\} @ \[26\]
23+
do_arrays::1::x \(\) -> \{\[0\] = 30 @ \[27\]\n\[1\] = 20 @ \[26\]\n\} @ \[27\]
24+
do_arrays::1::x \(\) -> \{\[0\] = 30 @ \[27\]\n\[1\] = 40 @ \[28\]\n\} @ \[28\]
25+
do_arrays::1::x \(\) -> \{\[0\] = 30 @ \[27\]\n\[1\] = 30 @ \[29\]\n\} @ \[29\]
26+
do_arrays::1::x \(\) -> \{\[0\] = 30 @ \[30\]\n\[1\] = 30 @ \[29\]\n\} @ \[30\]
27+
do_arrays::1::x \(\) -> \{\[0\] = 5 @ \[31\]\n\[1\] = 30 @ \[29\]\n\} @ \[31\]
28+
do_arrays::1::x \(\) -> \{\[0\] = 15 @ \[32\]\n\[1\] = 30 @ \[29\]\n\} @ \[32\]
29+
do_arrays::1::x \(\) -> \{\[0\] = 15 @ \[32\]\n\[1\] = 10 @ \[33\]\n\} @ \[33\]
30+
do_arrays::1::x \(\) -> \{\[0\] = 20 @ \[35\]\n\[1\] = 10 @ \[33\]\n\} @ \[35\]
31+
do_arrays::1::x \(\) -> \{\[0\] = 20 @ \[35\, 37\]\n\[1\] = 10 @ \[33\]\n\} @ \[35\, 37\]
32+
do_arrays::1::x \(\) -> \{\[0\] = 0 @ \[39]\n\[1\] = 10 @ \[33\]\n\} @ \[39\]
33+
do_arrays::1::x \(\) -> \{\[0\] = 3 @ \[41]\n\[1\] = 10 @ \[33\]\n\} @ \[41\]
34+
do_arrays::1::x \(\) -> \{\[0\] = TOP @ \[41\, 43]\n\[1\] = 10 @ \[33\]\n\} @ \[41\, 43\]
35+
do_arrays::1::x \(\) -> \{\[0\] = TOP @ \[41\, 43\, 46]\n\[1\] = 10 @ \[48\]\n\} @ \[48\]
36+
do_arrays::1::x \(\) -> \{\[0\] = 20 @ \[49]\n\[1\] = 10 @ \[48\]\n\} @ \[49\]

regression/goto-analyzer/sensitivity-last-written-locations-pointers/test.desc

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,28 @@ activate-multi-line-match
88
main#return_value \(\) -> TOP @ \[1\]
99
__CPROVER_dead_object \(\) -> TOP @ \[5\]
1010
__CPROVER_deallocated \(\) -> TOP @ \[6\]
11-
__CPROVER_malloc_is_new_array \(\) -> FALSE @ \[9\]
12-
__CPROVER_malloc_object \(\) -> TOP @ \[10\]
13-
__CPROVER_memory_leak \(\) -> TOP @ \[12\]
14-
__CPROVER_next_thread_key \(\) -> 0ul @ \[14\]
15-
__CPROVER_pipe_count \(\) -> 0u @ \[15\]
16-
__CPROVER_rounding_mode \(\) -> 0 @ \[16\]
17-
__CPROVER_thread_id \(\) -> 0ul @ \[17\]
18-
__CPROVER_threads_exited \(\) -> TOP @ \[20\]
19-
do_pointers::1::bool_ \(\) -> TOP @ \[22\]
20-
do_pointers::1::bool_1 \(\) -> TOP @ \[23\]
21-
do_pointers::1::bool_2 \(\) -> TOP @ \[24\]
22-
do_pointers::1::x \(\) -> TOP @ \[25\]
23-
do_pointers::1::x \(\) -> 10 @ \[26\]
24-
do_pointers::1::x_p \(\) -> TOP @ \[27\]
25-
do_pointers::1::y \(\) -> TOP @ \[28\]
26-
do_pointers::1::y \(\) -> 20 @ \[29\]
27-
do_pointers::1::y_p \(\) -> TOP @ \[30\]
28-
do_pointers::1::x_p \(\) -> ptr ->\(do_pointers::1::x\) @ \[31\]
29-
do_pointers::1::x \(\) -> 30 @ \[32\]
30-
do_pointers::1::x \(\) -> 40 @ \[33\]
31-
do_pointers::1::x \(\) -> TOP @ \[34\]
32-
do_pointers::1::x \(\) -> 50 @ \[35\]
33-
do_pointers::1::y_p \(\) -> ptr ->\(do_pointers::1::x\) @ \[36\]
34-
do_pointers::1::x \(\) -> 60 @ \[37\]
35-
do_pointers::1::j \(\) -> TOP @ \[38\]
36-
do_pointers::1::j \(\) -> 60 @ \[39\]
11+
__CPROVER_new_object \(\) -> TOP @ \[11\]
12+
__CPROVER_memory_leak \(\) -> TOP @ \[10\]
13+
__CPROVER_next_thread_id \(\) -> 0ul @ \[12\]
14+
__CPROVER_pipe_count \(\) -> 0u @ \[14\]
15+
__CPROVER_rounding_mode \(\) -> 0 @ \[15\]
16+
__CPROVER_thread_id \(\) -> 0ul @ \[16\]
17+
__CPROVER_threads_exited \(\) -> TOP @ \[19\]
18+
do_pointers::1::bool_ \(\) -> TOP @ \[21\]
19+
do_pointers::1::bool_1 \(\) -> TOP @ \[22\]
20+
do_pointers::1::bool_2 \(\) -> TOP @ \[23\]
21+
do_pointers::1::x \(\) -> TOP @ \[24\]
22+
do_pointers::1::x \(\) -> 10 @ \[25\]
23+
do_pointers::1::x_p \(\) -> TOP @ \[26\]
24+
do_pointers::1::y \(\) -> TOP @ \[27\]
25+
do_pointers::1::y \(\) -> 20 @ \[28\]
26+
do_pointers::1::y_p \(\) -> TOP @ \[29\]
27+
do_pointers::1::x_p \(\) -> ptr ->\(do_pointers::1::x\) @ \[30\]
28+
do_pointers::1::x \(\) -> 30 @ \[31\]
29+
do_pointers::1::x \(\) -> 40 @ \[32\]
30+
do_pointers::1::x \(\) -> TOP @ \[33\]
31+
do_pointers::1::x \(\) -> 50 @ \[34\]
32+
do_pointers::1::y_p \(\) -> ptr ->\(do_pointers::1::x\) @ \[35\]
33+
do_pointers::1::x \(\) -> 60 @ \[36\]
34+
do_pointers::1::j \(\) -> TOP @ \[37\]
35+
do_pointers::1::j \(\) -> 60 @ \[38\]

regression/goto-analyzer/sensitivity-last-written-locations-structs/test.desc

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,34 @@ activate-multi-line-match
88
main#return_value \(\) -> TOP @ \[1\]
99
__CPROVER_dead_object \(\) -> TOP @ \[5\]
1010
__CPROVER_deallocated \(\) -> TOP @ \[6\]
11-
__CPROVER_malloc_is_new_array \(\) -> FALSE @ \[9\]
12-
__CPROVER_malloc_object \(\) -> TOP @ \[10\]
13-
__CPROVER_memory_leak \(\) -> TOP @ \[12\]
14-
__CPROVER_next_thread_key \(\) -> 0ul @ \[14\]
15-
__CPROVER_pipe_count \(\) -> 0u @ \[15\]
16-
__CPROVER_rounding_mode \(\) -> 0 @ \[16\]
17-
__CPROVER_thread_id \(\) -> 0ul @ \[17\]
18-
__CPROVER_threads_exited \(\) -> TOP @ \[20\]
19-
do_structs::1::bool_ \(\) -> TOP @ \[22\]
20-
do_structs::1::bool_1 \(\) -> TOP @ \[23\]
21-
do_structs::1::bool_2 \(\) -> TOP @ \[24\]
22-
do_structs::1::st \(\) -> \{\} @ \[25\]
23-
do_structs::1::st \(\) -> \{.x=10 @ \[26\]\} @ \[26\]
24-
do_structs::1::st \(\) -> \{.x=10 @ \[26\]\, .y=20 @ \[27\]\} @ \[27\]
25-
do_structs::1::st \(\) -> \{.x=30 @ \[28\]\, .y=20 @ \[27\]\} @ \[28\]
26-
do_structs::1::st \(\) -> \{.x=30 @ \[28\]\, .y=40 @ \[29\]\} @ \[29\]
27-
do_structs::1::st \(\) -> \{.x=30 @ \[28\]\, .y=30 @ \[30\]\} @ \[30\]
28-
do_structs::1::st \(\) -> \{.x=30 @ \[31\]\, .y=30 @ \[30\]\} @ \[31\]
29-
do_structs::1::st \(\) -> \{.x=5 @ \[32\]\, .y=30 @ \[30\]\} @ \[32\]
30-
do_structs::1::st \(\) -> \{.x=15 @ \[33\]\, .y=30 @ \[30\]\} @ \[33\]
31-
do_structs::1::st \(\) -> \{.x=15 @ \[33\]\, .y=10 @ \[34\]\} @ \[34\]
32-
do_structs::1::st \(\) -> \{.x=20 @ \[36\]\, .y=10 @ \[34\]\} @ \[36\]
33-
do_structs::1::st \(\) -> \{.x=20 @ \[36\, 38\]\, .y=10 @ \[34\]\} @ \[36\, 38\]
34-
do_structs::1::st \(\) -> \{.x=0 @ \[40\]\, .y=10 @ \[34\]\} @ \[40\]
35-
do_structs::1::st \(\) -> \{.x=3 @ \[42\]\, .y=10 @ \[34\]\} @ \[42\]
36-
do_structs::1::st \(\) -> \{.x=TOP @ \[42\, 44\]\, .y=10 @ \[34\]\} @ \[42\, 44\]
37-
do_structs::1::st \(\) -> \{.x=TOP @ \[42\, 44\, 47\]\, .y=10 @ \[34\]\} @ \[42\, 44\, 47\]
38-
do_structs::1::st \(\) -> \{.x=TOP @ \[42\, 44\, 47\]\, .y=10 @ \[49\]\} @ \[49\]
39-
do_structs::1::st \(\) -> \{.x=20 @ \[50\]\, .y=10 @ \[49\]\} @ \[50\]
40-
do_structs::1::new_age \(\) -> \{\} @ \[51\]
41-
do_structs::1::new_age \(\) -> \{.x=20 @ \[52\]\, .y=10 @ \[52\]\} @ \[52\]
11+
__CPROVER_new_object \(\) -> TOP @ \[11\]
12+
__CPROVER_memory_leak \(\) -> TOP @ \[10\]
13+
__CPROVER_next_thread_id \(\) -> 0ul @ \[12\]
14+
__CPROVER_pipe_count \(\) -> 0u @ \[14\]
15+
__CPROVER_rounding_mode \(\) -> 0 @ \[15\]
16+
__CPROVER_thread_id \(\) -> 0ul @ \[16\]
17+
__CPROVER_threads_exited \(\) -> TOP @ \[19\]
18+
do_structs::1::bool_ \(\) -> TOP @ \[21\]
19+
do_structs::1::bool_1 \(\) -> TOP @ \[22\]
20+
do_structs::1::bool_2 \(\) -> TOP @ \[23\]
21+
do_structs::1::st \(\) -> \{\} @ \[24\]
22+
do_structs::1::st \(\) -> \{.x=10 @ \[25\]\} @ \[25\]
23+
do_structs::1::st \(\) -> \{.x=10 @ \[25\]\, .y=20 @ \[26\]\} @ \[26\]
24+
do_structs::1::st \(\) -> \{.x=30 @ \[27\]\, .y=20 @ \[26\]\} @ \[27\]
25+
do_structs::1::st \(\) -> \{.x=30 @ \[27\]\, .y=40 @ \[28\]\} @ \[28\]
26+
do_structs::1::st \(\) -> \{.x=30 @ \[27\]\, .y=30 @ \[29\]\} @ \[29\]
27+
do_structs::1::st \(\) -> \{.x=30 @ \[30\]\, .y=30 @ \[29\]\} @ \[30\]
28+
do_structs::1::st \(\) -> \{.x=5 @ \[31\]\, .y=30 @ \[29\]\} @ \[31\]
29+
do_structs::1::st \(\) -> \{.x=15 @ \[32\]\, .y=30 @ \[29\]\} @ \[32\]
30+
do_structs::1::st \(\) -> \{.x=15 @ \[32\]\, .y=10 @ \[33\]\} @ \[33\]
31+
do_structs::1::st \(\) -> \{.x=20 @ \[35\]\, .y=10 @ \[33\]\} @ \[35\]
32+
do_structs::1::st \(\) -> \{.x=20 @ \[35\, 37\]\, .y=10 @ \[33\]\} @ \[35\, 37\]
33+
do_structs::1::st \(\) -> \{.x=0 @ \[39\]\, .y=10 @ \[33\]\} @ \[39\]
34+
do_structs::1::st \(\) -> \{.x=3 @ \[41\]\, .y=10 @ \[33\]\} @ \[41\]
35+
do_structs::1::st \(\) -> \{.x=TOP @ \[41\, 43\]\, .y=10 @ \[33\]\} @ \[41\, 43\]
36+
do_structs::1::st \(\) -> \{.x=TOP @ \[41\, 43\, 46\]\, .y=10 @ \[33\]\} @ \[41\, 43\, 46\]
37+
do_structs::1::st \(\) -> \{.x=TOP @ \[41\, 43\, 46\]\, .y=10 @ \[48\]\} @ \[48\]
38+
do_structs::1::st \(\) -> \{.x=20 @ \[49\]\, .y=10 @ \[48\]\} @ \[49\]
39+
do_structs::1::new_age \(\) -> \{\} @ \[50\]
40+
do_structs::1::new_age \(\) -> \{.x=20 @ \[51\]\, .y=10 @ \[51\]\} @ \[51\]
4241
--

0 commit comments

Comments
 (0)