[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/rte/shift.c (with preprocessing)
[rte] annotating function main
tests/rte/shift.c:13:[rte] warning: shift assert broken (signed overflow): 5<<30 ≤ 2147483647
tests/rte/shift.c:14:[rte] warning: shift assert broken (signed overflow): 5<<30 ≤ 2147483647
tests/rte/shift.c:16:[rte] warning: shift assert broken (bad operand): 0 ≤ (int)(-3)
tests/rte/shift.c:18:[rte] warning: shift assert broken (signed overflow): 5<<30 ≤ 2147483647
tests/rte/shift.c:19:[rte] warning: shift assert broken (signed overflow): 5<<30 ≤ 2147483647
tests/rte/shift.c:20:[rte] warning: shift assert broken (bad operand): 0 ≤ 60 < 32
tests/rte/shift.c:20:[rte] warning: shift assert broken (signed overflow): 5<<60 ≤ 2147483647
tests/rte/shift.c:22:[rte] warning: shift assert broken (signed overflow): 5<<29 ≤ 2147483647
tests/rte/shift.c:36:[rte] warning: shift assert broken (bad operand): 0 ≤ (int)(-2) < 32
tests/rte/shift.c:38:[rte] warning: shift assert broken (bad operand): 0 ≤ 32 < 32
tests/rte/shift.c:41:[rte] warning: shift assert broken (bad operand): 0 ≤ (int)(-5)
tests/rte/shift.c:46:[rte] warning: shift assert broken (bad operand): 0 ≤ (int)(-2)
/* Generated by Frama-C */
int main(void)
{
  int __retres;
  int i;
  int x;
  int y;
  int z;
  unsigned int ux;
  unsigned int uy;
  unsigned int uz;
  long lx;
  long ly;
  long lz;
  i = 0;
  x = 0;
  y = 0;
  z = 0;
  ux = (unsigned int)0;
  uy = (unsigned int)0;
  uz = (unsigned int)0;
  lx = (long)0;
  ly = (long)0;
  lz = (long)0;
  z = (int)(5u << 30);
  /*@ assert rte: signed_overflow: 5<<30 ≤ 2147483647; */
  uz = (unsigned int)(5 << 30);
  /*@ assert rte: signed_overflow: 5<<30 ≤ 2147483647; */
  z = 5 << 30;
  /*@ assert rte: shift: 0 ≤ (int)(-3); */
  z = -3 << 2;
  /*@ assert rte: signed_overflow: 5<<30 ≤ 2147483647; */
  z = 5 << 30;
  /*@ assert rte: signed_overflow: 5<<30 ≤ 2147483647; */
  lz = (long)(5 << 30);
  /*@ assert rte: shift: 0 ≤ 60 < 32; */
  /*@ assert rte: signed_overflow: 5<<60 ≤ 2147483647; */
  lz = (long)(5 << 60);
  /*@ assert rte: signed_overflow: 5<<29 ≤ 2147483647; */
  z = 5 << 29;
  z = 5 << 28;
  z = 5 << 3;
  z = 5 << 1;
  i = 0;
  while (i < 10) {
    /*@ assert rte: shift: 0 ≤ i < 32; */
    /*@ assert rte: signed_overflow: 1<<i ≤ 2147483647; */
    z = 1 << i;
    /*@ assert rte: shift: 0 ≤ i; */
    /*@ assert rte: signed_overflow: i<<1 ≤ 2147483647; */
    z = i << 1;
    /*@ assert rte: shift: 0 ≤ i < 32; */
    /*@ assert rte: shift: 0 ≤ i; */
    /*@ assert rte: signed_overflow: i<<i ≤ 2147483647; */
    z = i << i;
    /*@ assert rte: signed_overflow: i+1 ≤ 2147483647; */
    i ++;
  }
  /*@ assert rte: shift: 0 ≤ (int)(-2) < 32; */
  z = 3 >> -2;
  z = 3 >> 5;
  /*@ assert rte: shift: 0 ≤ 32 < 32; */
  z = 3 >> 32;
  z = 3 >> 31;
  /*@ assert rte: shift: 0 ≤ (int)(-5); */
  z = -5 >> 1;
  /*@ assert rte: shift: 0 ≤ y < 32; */
  /*@ assert rte: shift: 0 ≤ x; */
  z = x >> y;
  /*@ assert rte: shift: 0 ≤ y < 32; */
  uz = (unsigned int)x >> y;
  /*@ assert rte: shift: 0 ≤ (int)(-2); */
  z = -2 >> 1;
  uz = (unsigned int)(-2) >> 1;
  z = 0 << 10;
  z = 0 >> 10;
  __retres = 0;
  return __retres;
}


