Developer Guide and Reference

ID 767251
Date 10/31/2024
Public
Document Table of Contents

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(8). 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