FREE

Intrinsic Subroutine (Specific): Frees a block of memory that is currently allocated. Intrinsic subroutines cannot be passed as actual arguments.

Syntax

CALL FREE (addr)

addr

(Input) Must be of type INTEGER(4) on IA-32 architecture; INTEGER(8) on Intel® 64 architecture and IA-64 architecture. This value is the starting address of the memory block to be freed, previously allocated by MALLOC.

If the freed address was not previously allocated by MALLOC, or if an address is freed more than once, results are unpredictable.

Example

INTEGER(4) SIZE

REAL(4) STORAGE(*)

POINTER (ADDR, STORAGE) ! ADDR will point to STORAGE

SIZE = 1024 ! Size in bytes

ADDR = MALLOC(SIZE) ! Allocate the memory

CALL FREE(ADDR) ! Free it