1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/struct3.i (no preprocessing)
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value:initial-state] Values of globals at initialization
tabst[0..9] ∈ {0}
tabst2[0..9] ∈ {0}
tab_s[0..1] ∈ {0}
tab_s1[0..1] ∈ {0}
tab_s2[0..1] ∈ {0}
tab_s3[0..1] ∈ {0}
tab_s4[0..1] ∈ {0}
s1 ∈ {0}
s2 ∈ {0}
s8 ∈ {0}
s7 ∈ {0}
v ∈ [--..--]
tests/value/struct3.i:42:[value] warning: accessing out of bounds index. assert 10 < 10;
tests/value/struct3.i:42:[kernel] warning: all target addresses were invalid. This path is assumed to be dead.
tests/value/struct3.i:46:[value] Assigning imprecise value to s2.a.
The imprecision originates from Arithmetic {tests/value/struct3.i:46}
[value] Recording results for main
[value] done for function main
[value] warning: Garbled mix generated during analysis:
{{ garbled mix of &{s1} (origin: Arithmetic {tests/value/struct3.i:46}) }}
tests/value/struct3.i:42:[value] assertion 'Value,index_bound' got final status invalid.
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function main:
s1.a ∈ {2}
.d[0] ∈ {1}
.d[1..2] ∈ {2}
.d[3..7] ∈ {0}
.d[8..9] ∈ {2}
.b.a ∈ {3}
{.b.b; .e[0..9]} ∈ {0}
.c ∈ {{ &s1 }}
s2.a ∈
{{ garbled mix of &{s1}
(origin: Arithmetic {tests/value/struct3.i:46}) }}
.d[0] ∈ {1}
.d[1..2] ∈ {2}
.d[3..7] ∈ {0}
.d[8..9] ∈ {2}
.b.a ∈ {3}
{.b.b; .e[0..9]} ∈ {0}
.c ∈ {{ &s1 }}
[from] Computing for function main
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
These dependencies hold at termination for the executions that terminate:
[from] Function main:
s1{{.a; .d[0..2]}; {.d[8..9]; .b.a}; .c} FROM \nothing
s2 FROM s1{.d[3..7]; {.b.b; .e[0..9]}}
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main:
s1{{.a; .d[0..2]}; {.d[8..9]; .b.a}; .c}; s2
[inout] Inputs for function main:
s1; s2.c; v
|