[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/spec/array_conversion.c (with preprocessing)
tests/spec/array_conversion.c:5:[kernel] warning: parsing obsolete ACSL construct '\valid_range(addr,min,max)'. '\valid(addr+(min..max))' should be used instead.
tests/spec/array_conversion.c:21:[kernel] warning: In ACSL, there is no implicit conversion between a C array and a pointer. Either introduce an explicit cast or take the address of the first element of X. Ignoring global annotation
tests/spec/array_conversion.c:34:[kernel] warning: In ACSL, there is no implicit conversion between a C array and a pointer. Either introduce an explicit cast or take the address of the first element of a. Ignoring code annotation
/* Generated by Frama-C */
typedef int foo[4];
foo X = {0, 1, 2, 3};
/*@ predicate p1{L}(int *a) = \at(\valid{L}(a+(0 .. 3)),L);
 */
/*@ predicate q1{L}(int *a) = \at(\valid{L}(a+(0 .. 3)),L);
 */
/*@ lemma vaddrof{L}: \valid{L}(&X);
 */
/*@ lemma vaddrof2{L}: \valid{L}((int *)X);
 */
/*@ requires p1(x); */
int f1(int * /*[4]*/ x)
{
  int __retres;
  __retres = *(x + 3);
  return __retres;
}

int g1(void)
{
  int tmp;
  tmp = f1(X);
  return tmp;
}

/*@ axiomatic ax {
      logic 𝔹 p{L}(int *b) ;
      
      }

*/
int a[10];
void ftest(void)
{
  /*@ assert p((int *)a) ≡ \true; */ ;
  return;
}

/*@ lemma array_not_null{L}: (int *)a ≢ \null;

*/

