[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/misc/context_width.i (no preprocessing)
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
  a ∈ {0}
tests/misc/context_width.i:17:[value] Assertion got status invalid (stopping propagation).
tests/misc/context_width.i:10:[kernel] warning: pointer comparison:
                  assert \pointer_comparable((void *)(p+2), (void *)((int *)0));
tests/misc/context_width.i:12:[kernel] warning: pointer comparison: assert \pointer_comparable((void *)(p+1), (void *)(&a));
tests/misc/context_width.i:15:[kernel] warning: out of bounds write. assert \valid(p+1);
tests/misc/context_width.i:16:[kernel] warning: out of bounds write. assert \valid(p+2);
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value] Values at end of function main:
  S_p[0] ∈ {1}
     [1] ∈ {2}
     [2] ∈ {3}
[from] Computing for function main
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
       These dependencies hold at termination for the executions that terminate:
[from] Function main:
  S_p[0..2] FROM p (and SELF)
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main:
          S_p[0..2]
[inout] Inputs for function main:
          \nothing
/* Generated by Frama-C */
int a;
void main(int *p)
{
  if (! (p == (int *)0)) {
    if (! (p + 1 == (int *)0)) 
      /*@ assert
          Value: ptr_comparison:
            \pointer_comparable((void *)(p+2), (void *)((int *)0));
      */
      if (! (p + 2 == (int *)0)) ;
    /*@ assert
        Value: ptr_comparison:
          \pointer_comparable((void *)(p+1), (void *)(&a));
    */
    if (p + 1 == & a) ;
    *p = 1;
    /*@ assert Value: mem_access: \valid(p+1); */
    *(p + 1) = 2;
    /*@ assert Value: mem_access: \valid(p+2); */
    *(p + 2) = 3;
  }
  else 
    /*@ assert \false; */ ;
  return;
}


[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
  a ∈ {0}
tests/misc/context_width.i:10:[kernel] warning: pointer comparison:
                  assert \pointer_comparable((void *)(p+2), (void *)((int *)0));
tests/misc/context_width.i:12:[kernel] warning: pointer comparison: assert \pointer_comparable((void *)(p+1), (void *)(&a));
tests/misc/context_width.i:15:[kernel] warning: out of bounds write. assert \valid(p+1);
tests/misc/context_width.i:15:[kernel] warning: all target addresses were invalid. This path is assumed to be dead.
[value] Recording results for main
[value] done for function main
tests/misc/context_width.i:15:[value] Assertion 'Value,mem_access' got final status invalid.
[value] ====== VALUES COMPUTED ======
[value] Values at end of function main:
  NON TERMINATING FUNCTION
[from] Computing for function main
[from] Non-terminating function main (no dependencies)
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
       These dependencies hold at termination for the executions that terminate:
[from] Function main:
  NON TERMINATING - NO EFFECTS
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main:
          S_p_0[0]
[inout] Inputs for function main:
          \nothing
/* Generated by Frama-C */
int a;
void main(int *p)
{
  if (! (p == (int *)0)) {
    if (! (p + 1 == (int *)0)) 
      /*@ assert
          Value: ptr_comparison:
            \pointer_comparable((void *)(p+2), (void *)((int *)0));
      */
      if (! (p + 2 == (int *)0)) ;
    /*@ assert
        Value: ptr_comparison:
          \pointer_comparable((void *)(p+1), (void *)(&a));
    */
    if (p + 1 == & a) ;
    *p = 1;
    /*@ assert Value: mem_access: \valid(p+1); */
    *(p + 1) = 2;
    *(p + 2) = 3;
  }
  else 
    /*@ assert \false; */ ;
  return;
}


