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
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/sparecode/glob_decls.i (no preprocessing)
[sparecode] remove unused code...
[sparecode] selecting function main outputs and entry point
[value] Analyzing an incomplete application starting at main
[value] Computing initial state
[value] Initial state computed
[value:initial-state] Values of globals at initialization
G1 ∈ [--..--]
G2 ∈ [--..--]
PG1 ∈ {{ NULL ; &S_PG1[0] }}
Gts ∈ [--..--]
GPs ∈ {{ NULL ; &S_GPs[0] }}
S2 ∈ [--..--]
C ∈ [--..--]
S3 ∈ [--..--]
Size ∈ [--..--]
X ∈ [--..--]
Y ∈ [--..--]
use_in_PX_init ∈ [--..--]
PX ∈ {{ NULL ; &S_PX[0] }}
S_PG1[0..1] ∈ [--..--]
S_GPs[0..1] ∈ [--..--]
S_PX[0..1] ∈ [--..--]
tests/sparecode/glob_decls.i:42:[value] warning: function main: precondition got status unknown.
tests/sparecode/glob_decls.i:46:[value] warning: signed overflow. assert y + Y ≤ 2147483647;
tests/sparecode/glob_decls.i:47:[value] warning: out of bounds read. assert \valid_read(PX);
tests/sparecode/glob_decls.i:47:[value] warning: signed overflow. assert -2147483648 ≤ y + *PX;
tests/sparecode/glob_decls.i:47:[value] warning: signed overflow. assert y + *PX ≤ 2147483647;
tests/sparecode/glob_decls.i:48:[value] warning: assertion got status unknown.
tests/sparecode/glob_decls.i:49:[value] warning: signed overflow. assert X + x ≤ 2147483647;
[value] Recording results for main
[value] done for function main
[pdg] computing for function main
[pdg] done for function main
[sparecode] add selection in function 'main'
[sparecode] selecting output zones \nothing
[sparecode] add selection in function 'main'
[sparecode] look for annotations in function Frama_C_bzero
[pdg] computing for function Frama_C_bzero
[from] Computing for function Frama_C_bzero
[from] Done for function Frama_C_bzero
[pdg] done for function Frama_C_bzero
[sparecode] look for annotations in function Frama_C_copy_block
[pdg] computing for function Frama_C_copy_block
[from] Computing for function Frama_C_copy_block
[from] Done for function Frama_C_copy_block
[pdg] done for function Frama_C_copy_block
[sparecode] look for annotations in function f
[pdg] computing for function f
[pdg] warning: unreachable entry point (sid:2, function f)
[pdg] Bottom for function f
[sparecode] pdg bottom: skip annotations
[sparecode] look for annotations in function main
[sparecode] selecting annotation : slice pragma expr S2;
[sparecode] selecting annotation : assert X > 0;
[sparecode] add selection in function 'main'
[sparecode] finalize call input propagation
[sparecode] remove unused global declarations...
[sparecode] result in new project 'default without sparecode'.
/* Generated by Frama-C */
struct __anonstruct_Ts2_2 {
int a ;
int b ;
};
typedef struct __anonstruct_Ts2_2 Ts2;
typedef int Int;
typedef Int Tx;
Ts2 S2;
char Size;
Tx X = (int)sizeof(Size);
int main(int x)
{
int __retres;
/*@ slice pragma expr S2; */ ;
/*@ assert X > 0; */ ;
__retres = X + x;
return __retres;
}
|