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/bool.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}
[value] computing for function printf <- main.
Called from tests/value/bool.i:12.
tests/value/bool.i:12:[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
[value] computing for function printf <- main.
Called from tests/value/bool.i:14.
[value] Done for function printf
[value] computing for function printf <- main.
Called from tests/value/bool.i:16.
[value] Done for function printf
[value] computing for function printf <- main.
Called from tests/value/bool.i:18.
[value] Done for function printf
[value] computing for function printf <- main.
Called from tests/value/bool.i:20.
[value] Done for function printf
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function main:
x ∈ {1}
y ∈ {2}
[from] Computing for function main
[from] Computing for function printf <-main
[from] Done for function printf
tests/value/bool.i:12:[from] warning: variadic call detected. Using only 1 argument(s).
tests/value/bool.i:14:[from] warning: variadic call detected. Using only 1 argument(s).
tests/value/bool.i:16:[from] warning: variadic call detected. Using only 1 argument(s).
tests/value/bool.i:18:[from] warning: variadic call detected. Using only 1 argument(s).
tests/value/bool.i:20:[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:
x FROM \nothing
y FROM \nothing
\result FROM \nothing
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main:
x; y
[inout] Inputs for function main:
x; y
/* Generated by Frama-C */
/*@ assigns \nothing; */
extern void printf(char const * , ...);
_Bool x;
int y;
int main(void)
{
x = (_Bool)0;
printf("%d\n",(int)x);
x = (_Bool)1;
printf("%d\n",(int)x);
y = (int)x + 1;
printf("%d,%d\n",(int)x,y);
x = (_Bool)((int)x + 1 != 0);
printf("%d\n",(int)x);
x = (_Bool)((int)x + 1 != 0);
printf("%d\n",(int)x);
return y;
}
|