[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/rte/bts0580_2.c (with preprocessing)
[rte] annotating function main
tests/rte/bts0580_2.c:32:[rte] warning: no predicate available yet to check validity of function pointer dereferencing *(buff.data[c[2]].f)
tests/rte/bts0580_2.c:33:[rte] warning: no predicate available yet to check validity of function pointer dereferencing *f
/* Generated by Frama-C */
struct S {
   int val ;
   struct S *next ;
};
struct C {
   struct S cell[5] ;
   int (*f)(int ) ;
};
struct ArrayStruct {
   struct C data[10] ;
};
struct ArrayStruct buff;
int main(int i)
{
  int __retres;
  int a;
  int b;
  int d;
  int c[3];
  int *p;
  int (*f)(int );
  /*@ assert rte: mem_access: \valid_read(p); */
  /*@ assert rte: index_bound: 0 ≤ i; */
  /*@ assert rte: index_bound: i < 10; */
  /*@ assert rte: index_bound: 0 ≤ *p; */
  /*@ assert rte: index_bound: *p < 5; */
  /*@ assert
      rte: mem_access: \valid_read(&(buff.data[i].cell[*p].next)->val);
  */
  a = (buff.data[i].cell[*p].next)->val;
  /*@ assert rte: index_bound: 0 ≤ c[2]; */
  /*@ assert rte: index_bound: c[2] < 10; */
  b = (*(buff.data[c[2]].f))(c[1]);
  d = (*f)(buff.data[0].cell[0].val);
  __retres = a > b;
  return __retres;
}


