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
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/value/if2.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
G2 ∈ {0}
G3 ∈ {75}
G4 ∈ {0}
R ∈ {0}
v ∈ [--..--]
G1 ∈ {0}
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function main:
G3 ∈ {0}
R ∈ {4; 10; 11}
b ∈ {1}
[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:
G3 FROM G4
R FROM R; v
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main:
G3; R; b
[inout] Inputs for function main:
G4; R; v; G1
/* Generated by Frama-C */
enum __anonenum_T1_t_1 {
E1 = 0,
E2 = 0x0001,
E3 = 0x0002,
E4 = 0x0004,
E5 = 0x0008,
E6 = 0x0010,
E7 = 0x0020
};
typedef enum __anonenum_T1_t_1 T1_t;
enum Bool {
FALSE = 0,
TRUE = 2
};
static T1_t G1;
T1_t G2 = E1;
int G3 = 75;
int G4;
int R;
int volatile v;
void main(void)
{
enum Bool b;
if ((unsigned int)E6 == G1) G2 = G1;
if (0 == G4) G3 = G4;
if (v)
if (E1) R = 5; else R = 6;
if (v)
if (! E1) R = 6; else R = 5;
if (v)
if (E5) R = 7; else R = 5;
if (v)
if (! E5) R = 5; else R = 7;
b = FALSE;
if (! b) R += ! b;
b = TRUE;
if (b) R = (int)((unsigned int)R + b);
b = (enum Bool)1;
if (b) R = (int)((unsigned int)R + b);
return;
}
|