# FREE

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

CALL FREE (addr)

addr | (Input) Must be of type INTEGER(4) on IA-32 architecture; INTEGER(8) on Intel® 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

Parent topic: E to F