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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/deps_mixed.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
p ∈ {0}
q ∈ {0}
a ∈ {0}
b ∈ {0}
r ∈ {2}
s ∈ {0}
v ∈ [--..--]
t[0] ∈ {{ &f }}
[1] ∈ {{ &g }}
tests/value/deps_mixed.i:20:[value] warning: out of bounds read. assert \valid_read(p + (int)q);
tests/value/deps_mixed.i:22:[value] warning: accessing out of bounds index. assert 0 ≤ i0;
tests/value/deps_mixed.i:22:[value] warning: accessing out of bounds index. assert i0 < 2;
[value] computing for function g <- main.
Called from tests/value/deps_mixed.i:22.
[value] Recording results for g
[value] Done for function g
[value] computing for function f <- main.
Called from tests/value/deps_mixed.i:22.
[value] Recording results for f
[value] Done for function f
tests/value/deps_mixed.i:24:[value] Assigning imprecise value to __retres.
The imprecision originates from Arithmetic {tests/value/deps_mixed.i:24}
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function f:
[value:final-states] Values at end of function g:
[value:final-states] Values at end of function main:
p ∈ {{ NULL + {3} ; &a }}
q ∈ {{ NULL + {2} ; &b }}
r ∈ {2}
s ∈ [--..--]
__retres ∈
{{ garbled mix of &{a; b}
(origin: Arithmetic {tests/value/deps_mixed.i:24}) }}
[from] Computing for function f
[from] Done for function f
[from] Computing for function g
[from] Done for function g
[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 f:
\result FROM x
[from] Function g:
\result FROM y
[from] Function main:
p FROM c
q FROM d
r FROM v; c; d (and SELF)
s FROM t[0..1]; i0; i1; i2
\result FROM c; d
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function f:
\nothing
[inout] Inputs for function f:
\nothing
[inout] Out (internal) for function g:
\nothing
[inout] Inputs for function g:
\nothing
[inout] Out (internal) for function main:
p; q; r; s; __retres
[inout] Inputs for function main:
p; q; v; t[0..1]
|