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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/local.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
X ∈ {0}
Y ∈ {0}
Z ∈ {0}
T ∈ {0}
U ∈ {0}
V ∈ {0}
[value] computing for function f <- main.
Called from tests/value/local.i:33.
tests/value/local.i:7:[value] warning: locals {b} escaping the scope of f through \result
[value] Recording results for f
[value] Done for function f
tests/value/local.i:33:[value] warning: locals {a} escaping the scope of f through X
[value] computing for function g <- main.
Called from tests/value/local.i:34.
[value] computing for function f <- g <- main.
Called from tests/value/local.i:13.
[value] Recording results for f
[value] Done for function f
tests/value/local.i:13:[value] warning: locals {a} escaping the scope of f through X
tests/value/local.i:14:[value] warning: accessing left-value that contains escaping addresses.
assert ¬\dangling(&T);
tests/value/local.i:15:[value] warning: locals {d} escaping the scope of g through \result
[value] Recording results for g
[value] Done for function g
tests/value/local.i:34:[value] warning: locals {d} escaping the scope of g through U
[value] DUMPING STATE of file tests/value/local.i line 35
X ∈ ESCAPINGADDR
Y ∈ ESCAPINGADDR
Z ∈ ESCAPINGADDR
T ∈ ESCAPINGADDR
U ∈ ESCAPINGADDR
V ∈ {0}
e ∈ UNINITIALIZED
=END OF DUMP==
[value] computing for function h <- main.
Called from tests/value/local.i:36.
[value] Recording results for h
[value] Done for function h
[value] computing for function i <- main.
Called from tests/value/local.i:37.
[value] Recording results for i
[value] Done for function i
[value] Recording results for main
[value] done for function main
tests/value/local.i:14:[value] assertion 'Value,dangling_pointer' got final status invalid.
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function f:
X ∈ {{ &a }}
__retres ∈ {{ &b }}
[value:final-states] Values at end of function g:
X ∈ ESCAPINGADDR
T ∈ ESCAPINGADDR
U ∈ {{ &d }}
d ∈ [--..--]
[value:final-states] Values at end of function h:
__retres ∈ {{ &e + {4} }}
[value:final-states] Values at end of function i:
x ∈ {{ &local }}
[value:final-states] Values at end of function main:
X ∈ ESCAPINGADDR
Y ∈ ESCAPINGADDR
Z ∈ ESCAPINGADDR
T ∈ ESCAPINGADDR
U ∈ ESCAPINGADDR
V ∈ {{ &e + {4} }}
[from] Computing for function f
[from] Done for function f
[from] Computing for function g
[from] Done for function g
[from] Computing for function h
[from] Done for function h
[from] Computing for function i
[from] Done for function i
[from] Computing for function main
[from] Computing for function Frama_C_dump_each <-main
[from] Done for function Frama_C_dump_each
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
These dependencies hold at termination for the executions that terminate:
[from] Function f:
X FROM \nothing
\result FROM \nothing
[from] Function g:
X FROM \nothing
T FROM \nothing
U FROM \nothing
\result FROM \nothing
[from] Function h:
\result FROM x
[from] Function i:
NO EFFECTS
[from] Function main:
X FROM \nothing
Y FROM \nothing
Z FROM \nothing
T FROM \nothing
U FROM \nothing
V FROM \nothing
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function f:
X; __retres
[inout] Inputs for function f:
\nothing
[inout] Out (internal) for function g:
X; T; U; d
[inout] Inputs for function g:
T; U
[inout] Out (internal) for function h:
__retres
[inout] Inputs for function h:
\nothing
[inout] Out (internal) for function i:
x
[inout] Inputs for function i:
\nothing
[inout] Out (internal) for function main:
X; Y; Z; T; U; V
[inout] Inputs for function main:
T; U
|