[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/misc/fun_ptr.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
  t[0] ∈ {{ (long)&f }}
   [1] ∈ {{ (long)&g }}
  R1 ∈ {0}
  R2 ∈ {0}
  R3 ∈ {0}
  v ∈ [--..--]
[value] computing for function test1 <- main.
        Called from tests/misc/fun_ptr.i:74.
tests/misc/fun_ptr.i:24:[value] warning: Function pointer and pointed function 'g' have completely incompatible types:
                 int (int ) vs. int (int x, int y). assert(function type matches)
[value] computing for function f <- test1 <- main.
        Called from tests/misc/fun_ptr.i:24.
[value] Recording results for f
[value] Done for function f
[value] Recording results for test1
[value] Done for function test1
[value] computing for function test2 <- main.
        Called from tests/misc/fun_ptr.i:75.
tests/misc/fun_ptr.i:29:[value] warning: Function pointer and pointed function 'f' have incompatible types:
                 int (int , int ) vs. int (int x). assert(function type matches)
[value] computing for function f <- test2 <- main.
        Called from tests/misc/fun_ptr.i:29.
[value] Recording results for f
[value] Done for function f
[value] computing for function g <- test2 <- main.
        Called from tests/misc/fun_ptr.i:29.
[value] Recording results for g
[value] Done for function g
[value] Recording results for test2
[value] Done for function test2
[value] computing for function test3 <- main.
        Called from tests/misc/fun_ptr.i:76.
tests/misc/fun_ptr.i:34:[value] warning: Function pointer and pointed function 'f' have completely incompatible types:
                 double (int ) vs. int (int x). assert(function type matches)
tests/misc/fun_ptr.i:34:[value] warning: Function pointer and pointed function 'g' have completely incompatible types:
                 double (int ) vs. int (int x, int y). assert(function type matches)
[value] Recording results for test3
[value] Done for function test3
tests/misc/fun_ptr.i:79:[value] warning: Function type must match type at call site: assert(function type matches)
tests/misc/fun_ptr.i:81:[value] warning: Function type must match type at call site: assert(function type matches)
[value] computing for function h <- main.
        Called from tests/misc/fun_ptr.i:83.
[value] Recording results for h
[value] Done for function h
[value] computing for function test_benign <- main.
        Called from tests/misc/fun_ptr.i:85.
tests/misc/fun_ptr.i:52:[value] warning: Function pointer and pointed function 'benign' have incompatible types:
                 void (unsigned int , short *) vs. void (int j, void *p).
                 assert(function type matches)
[value] computing for function benign <- test_benign <- main.
        Called from tests/misc/fun_ptr.i:52.
[value] Recording results for benign
[value] Done for function benign
[value] Recording results for test_benign
[value] Done for function test_benign
[value] computing for function test_too_much_benign <- main.
        Called from tests/misc/fun_ptr.i:86.
tests/misc/fun_ptr.i:66:[value] warning: Function pointer and pointed function 'too_much' have incompatible types:
                 void (int , int ) vs. void (int i). assert(function type matches)
[value] computing for function too_much <- test_too_much_benign <- main.
        Called from tests/misc/fun_ptr.i:66.
[value] Recording results for too_much
[value] Done for function too_much
tests/misc/fun_ptr.i:69:[value] warning: Function pointer and pointed function 'too_much2' have
                 completely incompatible types: void (int , int ) vs.
                 void (int i, int j, int k). assert(function type matches)
[value] Recording results for test_too_much_benign
[value] Done for function test_too_much_benign
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value] Values at end of function benign:
  q ∈ {{ &x }}
  k ∈ {-2147483648}
  x ∈ {2147483648}
[value] Values at end of function f:
  __retres ∈ {4}
[value] Values at end of function g:
  __retres ∈ {7}
[value] Values at end of function h:
  __retres ∈ {3.}
[value] Values at end of function test1:
  R1 ∈ {4}
[value] Values at end of function test2:
  R2 ∈ {4; 7}
[value] Values at end of function test3:
  NON TERMINATING FUNCTION
[value] Values at end of function test_benign:
  x ∈ {2147483648}
  p ∈ {{ (void (*)(unsigned int , short *))&benign }}
[value] Values at end of function too_much:
  j ∈ {1}
[value] Values at end of function test_too_much_benign:
  p ∈ {{ (void (*)(int , int ))&too_much }}
[value] Values at end of function main:
  R1 ∈ {4}
  R2 ∈ {4; 7}
  R3 ∈ {0}
  ph ∈ {{ &h }}
  __retres ∈ {0}
[from] Computing for function benign
[from] Done for function benign
[from] Computing for function f
[from] Done for function f
[from] Computing for function g
[from] Done for function g
[from] Computing for function h
[from] Done for function h
[from] Computing for function test1
[from] Done for function test1
[from] Computing for function test2
tests/misc/fun_ptr.i:29:[from] warning: variadic call detected. Using only 1 argument(s).
[from] Done for function test2
[from] Computing for function test3
[from] Non-terminating function test3 (no dependencies)
[from] Done for function test3
[from] Computing for function test_benign
[from] Done for function test_benign
[from] Computing for function too_much
[from] Done for function too_much
[from] Computing for function test_too_much_benign
tests/misc/fun_ptr.i:66:[from] warning: variadic call detected. Using only 1 argument(s).
[from] Done for function test_too_much_benign
[from] Computing for function main
tests/misc/fun_ptr.i:81:[from] warning: variadic call detected. Using only 0 argument(s).
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
       These dependencies hold at termination for the executions that terminate:
[from] Function benign:
  x FROM j; p
[from] Function f:
  \result FROM x
[from] Function g:
  \result FROM x; y
[from] Function h:
  \result FROM a; b
[from] Function test1:
  R1 FROM t[0..1]; nd
[from] Function test2:
  R2 FROM t[0..1]; nd
[from] Function test3:
  NON TERMINATING - NO EFFECTS
[from] Function test_benign:
  NO EFFECTS
[from] Function too_much:
  NO EFFECTS
[from] Function test_too_much_benign:
  NO EFFECTS
[from] Function main:
  R1 FROM t[0..1]; v
  R2 FROM t[0..1]; v
  \result FROM \nothing
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function benign:
          q; k; x
[inout] Inputs for function benign:
          \nothing
[inout] Out (internal) for function f:
          __retres
[inout] Inputs for function f:
          \nothing
[inout] Out (internal) for function g:
          __retres
[inout] Inputs for function g:
          \nothing
[inout] Out (internal) for function h:
          __retres
[inout] Inputs for function h:
          \nothing
[inout] Out (internal) for function test1:
          R1
[inout] Inputs for function test1:
          t[0..1]
[inout] Out (internal) for function test2:
          R2
[inout] Inputs for function test2:
          t[0..1]
[inout] Out (internal) for function test3:
          R3
[inout] Inputs for function test3:
          t[0..1]
[inout] Out (internal) for function test_benign:
          x; p
[inout] Inputs for function test_benign:
          \nothing
[inout] Out (internal) for function too_much:
          j
[inout] Inputs for function too_much:
          \nothing
[inout] Out (internal) for function test_too_much_benign:
          p
[inout] Inputs for function test_too_much_benign:
          v
[inout] Out (internal) for function main:
          R1; R2; R3; ph; __retres
[inout] Inputs for function main:
          t[0..1]; v
