[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/rte/divmod_typedef.c (with preprocessing)
[rte] annotating function main
tests/rte/divmod_typedef.c:15:[rte] warning: signed overflow assert broken: (int)((int)(-2147483647)-1)/(int)(-1) ≤
                                              2147483647
tests/rte/divmod_typedef.c:18:[rte] warning: divisor assert broken: 0 ≢ 0
tests/rte/divmod_typedef.c:19:[rte] warning: divisor assert broken: (unsigned int)(0xffffffff+1) ≢ 0
tests/rte/divmod_typedef.c:26:[rte] warning: divisor assert broken: (unsigned int)(0xffffffff+1) ≢ 0
tests/rte/divmod_typedef.c:27:[rte] warning: signed overflow assert broken: (int)((int)(-0x7fffffff)-1)/(int)(-1) ≤
                                              2147483647
tests/rte/divmod_typedef.c:38:[rte] warning: signed downcast assert broken: (long long)(-2147483648L)/(long long)((long)
                                                                                   (-1L))
                                              ≤ 2147483647
/* Generated by Frama-C */
typedef int tint;
typedef unsigned int tuint;
int main(void)
{
  int __retres;
  tint x;
  tint y;
  tint z;
  tuint ux;
  tuint uy;
  tuint uz;
  x = 0;
  y = 0;
  z = 0;
  ux = (unsigned int)0;
  uy = (unsigned int)0;
  uz = (unsigned int)0;
  /*@ assert
      rte: signed_overflow:
        (int)((int)(-2147483647)-1)/(int)(-1) ≤ 2147483647;
  */
  z = (-2147483647 - 1) / -1;
  z = (-2147483647 - 1) % -1;
  /*@ assert rte: division_by_zero: 0 ≢ 0; */
  uz = (unsigned int)(1 / 0);
  /*@ assert rte: division_by_zero: (unsigned int)(0xffffffff+1) ≢ 0; */
  uz = (unsigned int)1 / (0xffffffff + (unsigned int)1);
  ux = 0x80000000;
  uy = 0xffffffff;
  /*@ assert rte: division_by_zero: (int)uy ≢ 0; */
  /*@ assert rte: signed_overflow: (int)ux/(int)uy ≤ 2147483647; */
  /*@ assert rte: signed_downcast: ux ≤ 2147483647; */
  /*@ assert rte: signed_downcast: uy ≤ 2147483647; */
  uz = (unsigned int)((int)ux / (int)uy);
  /*@ assert rte: division_by_zero: uy ≢ 0; */
  uz = ux / uy;
  /*@ assert rte: division_by_zero: (unsigned int)(0xffffffff+1) ≢ 0; */
  uz = 0x80000000 / (0xffffffff + (unsigned int)1);
  /*@ assert
      rte: signed_overflow:
        (int)((int)(-0x7fffffff)-1)/(int)(-1) ≤ 2147483647;
  */
  uz = (unsigned int)((-0x7fffffff - 1) / -1);
  uz = (unsigned int)(-0x7fffffff - 1) / 0xffffffff;
  uz = 0x80000000 / (unsigned int)(-1);
  uz = (unsigned int)((int)(0x80000000 / 0xffffffff));
  /*@ assert rte: division_by_zero: (int)(x+y) ≢ 0; */
  /*@ assert rte: signed_overflow: -2147483648 ≤ x+y; */
  /*@ assert rte: signed_overflow: x+y ≤ 2147483647; */
  z = 1 / (x + y);
  /*@ assert rte: signed_overflow: x/(int)(-1) ≤ 2147483647; */
  z = x / -1;
  /*@ assert rte: division_by_zero: y ≢ 0; */
  z = (-0x7ffffff - 1) / y;
  /*@ assert
      rte: signed_downcast:
        (long long)(-2147483648L)/(long long)((long)(-1L)) ≤ 2147483647;
  */
  z = (int)(-2147483648L / (long long)(-1L));
  z = (int)(0x80000000 / (unsigned int)(-1));
  z = (int)(0x80000000 / 0xffffffff);
  __retres = 0;
  return __retres;
}


