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
|
[value] warning: New option name for -no-val-left-shift-negative-alarms is -no-val-warn-left-shift-negative
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/shift.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
a ∈ {0}
b ∈ {0}
d ∈ {0}
e ∈ {0}
f ∈ {0}
g ∈ {0}
h ∈ {0}
ua ∈ {0}
ub ∈ {0}
uc ∈ {0}
ud ∈ {0}
ue ∈ {0}
uf ∈ {0}
t[0..9] ∈ {0}
v ∈ [--..--]
tests/value/shift.i:21:[value] warning: invalid RHS operand for shift. assert 0 ≤ c < 32;
tests/value/shift.i:22:[value] assertion got status valid.
tests/value/shift.i:25:[value] warning: invalid RHS operand for shift. assert 0 ≤ c < 32;
tests/value/shift.i:26:[value] assertion got status valid.
tests/value/shift.i:29:[value] warning: invalid RHS operand for shift. assert 0 ≤ c < 32;
tests/value/shift.i:32:[value] warning: assertion got status unknown.
tests/value/shift.i:35:[value] warning: invalid RHS operand for shift. assert 0 ≤ 32 < 32;
tests/value/shift.i:36:[value] warning: invalid RHS operand for shift. assert 0 ≤ 5555 < 32;
tests/value/shift.i:40:[value] warning: invalid RHS operand for shift. assert 0 ≤ b < 32;
[value] computing for function printf <- main.
Called from tests/value/shift.i:48.
tests/value/shift.i:48:[kernel] warning: Neither code nor specification for function printf, generating default assigns from the prototype
[value] using specification for function printf
[value] Done for function printf
tests/value/shift.i:52:[value] Assigning imprecise value to r.
The imprecision originates from Arithmetic {tests/value/shift.i:52}
tests/value/shift.i:53:[value] warning: signed overflow. assert -2147483648 ≤ (long)((char *)t) << 8;
tests/value/shift.i:53:[value] warning: signed overflow. assert (long)((char *)t) << 8 ≤ 2147483647;
tests/value/shift.i:53:[value] warning: signed overflow.
assert -2147483648 ≤ (long)r + (long)((long)((char *)t) << 8);
tests/value/shift.i:53:[value] warning: signed overflow.
assert (long)r + (long)((long)((char *)t) << 8) ≤ 2147483647;
tests/value/shift.i:53:[value] Assigning imprecise value to r.
The imprecision originates from Arithmetic
[value] Recording results for main
[value] done for function main
tests/value/shift.i:35:[value] assertion 'Value,shift' got final status invalid.
tests/value/shift.i:36:[value] assertion 'Value,shift' got final status invalid.
tests/value/shift.i:40:[value] assertion 'Value,shift' got final status invalid.
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function main:
a ∈ {314; 1256; 5024}
b ∈ {0}
d ∈ {61; 246; 255; 987}
f ∈ {-988; -255; -247; -62}
ua ∈ {1401}
ub ∈ {1073741074}
c ∈ [--..--]
z ∈ [-2147483648..2147483631]
zz ∈ {0}
shl ∈ {0}
[from] Computing for function main
[from] Computing for function printf <-main
[from] Done for function printf
tests/value/shift.i:48:[from] warning: variadic call detected. Using only 1 argument(s).
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
These dependencies hold at termination for the executions that terminate:
[from] Function printf:
NO EFFECTS
[from] Function main:
a FROM v; c
b FROM z (and SELF)
d FROM v; c
f FROM v; c
ua FROM \nothing
ub FROM \nothing
\result FROM b; z
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main:
a; b; d; f; ua; ub; c; z; zz; r; shl
[inout] Inputs for function main:
b; d; f; ua; ub; v
|