begin model freeTwice
| begin input variables
| end input variables;
| begin output variables
| end output variables;
| begin process 0
| | main function : main;
| | begin function main
| | | | freeTwice.c 3.0--3.11: "void main()"
| | | begin proper local variables
| | | | p : pointer(40)<real>;
| | | | | freeTwice.c 4.1--4.11: "double* p;"
| | | end proper local variables;
| | | start location : 0;
| | | begin location 0
| | | | kind : ALLOCATE;
| | | | p = (real*) malloc(sizeof(real)); goto location 1;
| | | | | freeTwice.c 6.1--6.37: "p = (double*)malloc(sizeof(double));"
| | | end location 0;
| | | begin location 1
| | | | kind : INVOCATION;
| | | | free(p); goto location 2;
| | | | | freeTwice.c 7.1--7.9: "free(p);"
| | | end location 1;
| | | begin location 2
| | | | kind : INVOCATION;
| | | | free(p); goto location 3;
| | | | | freeTwice.c 8.1--8.9: "free(p);"
| | | end location 2;
| | | begin location 3
| | | | kind : RETURN;
| | | | return null; goto location 4;
| | | | | freeTwice.c 9.0--9.0: "}"
| | | end location 3;
| | | begin location 4
| | | | kind : TERMINAL;
| | | end location 4;
| | end function main;
| | begin function free
| | | | null
| | | begin formal parameters
| | | | pointer : pointer(41)<void>;
| | | | | null
| | | end formal parameters;
| | end function free;
| end process 0;
end model freeTwice.
