[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/constant_propagation/enum.i (no preprocessing)
[scf] beginning constant propagation
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
  
[value] computing for function f <- main.
        Called from tests/constant_propagation/enum.i:11.
[value] Recording results for f
[value] Done for function f
[value] computing for function f <- main.
        Called from tests/constant_propagation/enum.i:12.
[value] Recording results for f
[value] Done for function f
tests/constant_propagation/enum.i:13:[kernel] warning: signed overflow. assert B+c ≤ 2147483647;
tests/constant_propagation/enum.i:15:[kernel] warning: signed overflow. assert (int)(y+z)+t ≤ 2147483647;
tests/constant_propagation/enum.i:15:[kernel] warning: signed overflow. assert -2147483648 ≤ (int)((int)(y+z)+t)+v;
tests/constant_propagation/enum.i:15:[kernel] warning: signed overflow. assert (int)((int)(y+z)+t)+v ≤ 2147483647;
[value] Recording results for main
[value] done for function main
/* Generated by Frama-C */
enum E {
    A = 0,
    B = 1,
    C = 2,
    D = 3
};
int f(enum E e)
{
  int __retres;
  __retres = (int)(e + 1U);
  return __retres;
}

int main(int c, unsigned int u)
{
  int __retres;
  enum E x;
  int y;
  int z;
  int t;
  int v;
  x = A;
  y = f(0U);
  z = f(D);
  /*@ assert Value: signed_overflow: B+c ≤ 2147483647; */
  t = B + c;
  v = (int)(2U + u);
  /*@ assert Value: signed_overflow: (int)(y+z)+t ≤ 2147483647; */
  /*@ assert Value: signed_overflow: -2147483648 ≤ (int)((int)(y+z)+t)+v;
  */
  /*@ assert Value: signed_overflow: (int)((int)(y+z)+t)+v ≤ 2147483647; */
  __retres = (5 + t) + v;
  return __retres;
}


[scf] constant propagation done
