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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/bitwise_pointer.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
t[0] ∈ {0}
[1] ∈ {1}
[2] ∈ {2}
[3] ∈ {3}
[4] ∈ {4}
[5] ∈ {5}
[6] ∈ {6}
[7] ∈ {7}
[8] ∈ {8}
[9] ∈ {9}
[10..99] ∈ {0}
p ∈ {0}
x ∈ {0}
t1[0] ∈ {0}
[1] ∈ {1}
[2] ∈ {2}
[3] ∈ {3}
[4] ∈ {4}
[5] ∈ {5}
[6] ∈ {6}
[7] ∈ {7}
[8] ∈ {8}
[9] ∈ {9}
[10..99] ∈ {0}
p1 ∈ {0}
x1 ∈ {0}
tests/value/bitwise_pointer.i:18:[value] Assigning imprecise value to p.
The imprecision originates from Arithmetic {tests/value/bitwise_pointer.i:18}
tests/value/bitwise_pointer.i:19:[value] warning: out of bounds write. assert \valid(p);
tests/value/bitwise_pointer.i:22:[value] Assigning imprecise value to p1.
The imprecision originates from Arithmetic {tests/value/bitwise_pointer.i:22}
tests/value/bitwise_pointer.i:23:[value] warning: out of bounds write. assert \valid(p1);
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function main:
t[0] ∈ {0; 5}
[1] ∈ {1; 5}
[2] ∈ {2; 5}
[3] ∈ {3; 5}
[4] ∈ {4; 5}
[5] ∈ {5}
[6] ∈ {5; 6}
[7] ∈ {5; 7}
[8] ∈ {5; 8}
[9] ∈ {5; 9}
[10..99] ∈ {0; 5}
p ∈ {{ &t + [0..99] }}
x ∈ [0..9]
t1[0] ∈ {0; 5}
[1] ∈ {1; 5}
[2] ∈ {2; 5}
[3] ∈ {3; 5}
[4] ∈ {4; 5}
[5] ∈ {5}
[6] ∈ {5; 6}
[7] ∈ {5; 7}
[8] ∈ {5; 8}
[9] ∈ {5; 9}
[10..99] ∈ {0; 5}
p1 ∈ {{ &t1 + [0..99] }}
x1 ∈ [0..9]
mask ∈ {7}
[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:
t[0..99] FROM \nothing (and SELF)
p FROM \nothing
x FROM t[0..99]
t1[0..99] FROM \nothing (and SELF)
p1 FROM \nothing
x1 FROM t1[0..99]
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main:
t[0..99]; p; x; t1[0..99]; p1; x1; mask
[inout] Inputs for function main:
t[0..99]; p; t1[0..99]; p1
[inout] InOut (internal) for function main:
Operational inputs:
t[0..99]; t1[0..99]
Operational inputs on termination:
t[0..99]; t1[0..99]
Sure outputs:
p; x; p1; x1; mask
|