begin model leak
| begin input variables
| end input variables;
| begin output variables
| end output variables;
| begin process 0
| | main function : main;
| | begin function main
| | | | leak.c 3.0--3.11: "void main()"
| | | begin proper local variables
| | | | q : pointer(24)<real>;
| | | | | leak.c 4.1--4.11: "double* q;"
| | | end proper local variables;
| | | start location : 0;
| | | begin location 0
| | | | kind : INVOCATION;
| | | | f(); goto location 1;
| | | | | leak.c 6.1--6.5: "f();"
| | | end location 0;
| | | begin location 1
| | | | kind : ALLOCATE;
| | | | q = (real*) malloc(200*sizeof(real)); goto location 2;
| | | | | leak.c 7.1--7.43: "q = (double *) malloc(200*sizeof(double));"
| | | end location 1;
| | | begin location 2
| | | | kind : INVOCATION;
| | | | free(q); goto location 3;
| | | | | leak.c 9.1--9.9: "free(q);"
| | | end location 2;
| | | begin location 3
| | | | kind : RETURN;
| | | | return null; goto location 4;
| | | | | leak.c 10.0--10.0: "}"
| | | end location 3;
| | | begin location 4
| | | | kind : TERMINAL;
| | | end location 4;
| | end function main;
| | begin function f
| | | | leak.c 13.0--13.8: "void f()"
| | | begin proper local variables
| | | | p : pointer(24)<real>;
| | | | | leak.c 14.1--14.11: "double *p;"
| | | end proper local variables;
| | | start location : 0;
| | | begin location 0
| | | | kind : ALLOCATE;
| | | | p = (real*) malloc(100*sizeof(real)); goto location 1;
| | | | | leak.c 16.1--16.43: "p = (double *) malloc(100*sizeof(double));"
| | | end location 0;
| | | begin location 1
| | | | kind : RETURN;
| | | | return null; goto location 2;
| | | | | leak.c 17.0--17.0: "}"
| | | end location 1;
| | | begin location 2
| | | | kind : TERMINAL;
| | | end location 2;
| | end function f;
| | begin function free
| | | | null
| | | begin formal parameters
| | | | pointer : pointer(25)<void>;
| | | | | null
| | | end formal parameters;
| | end function free;
| end process 0;
end model leak.
