HP Fortran Programmer's Reference (September 2007)

HP Fortran statements
DEALLOCATE
Chapter 10 317
DEALLOCATE
Deallocates allocatable arrays and pointer targets.
Syntax
DEALLOCATE (
alloc-obj-list
[, STAT=
scalar-int-var
])
alloc-obj-list
is a comma-separated list of pointers or allocatable arrays.
STAT=
scalar-int-var
returns the error status after the statement executes. If given, it is set to a
positive value if an error is detected, and to zero otherwise. If there is no
status variable, the occurrence of an error causes the program to terminate.
Description
The DEALLOCATE statement deallocates allocatable arrays and pointer targets, making the
memory available for reuse. A specified allocatable array then becomes not allocated (as
reported by the ALLOCATED intrinsic), while a specified pointer becomes disassociated (as
reported by the ASSOCIATED intrinsic).
An error occurs if an attempt is made to deallocate an allocatable array that is not currently
allocated or a pointer that is not associated. Errors in the operation of DEALLOCATE can be
reported by means of the optional STAT= specifier.
You can deallocate an allocatable array by specifying the name of the array with the
DEALLOCATE statement. You cannot deallocate a pointer that points to an object that was not
allocated.
Some or all of a target associated with a pointer by means of the ALLOCATE statement can also
be associated subsequently with other pointers. However, it is not permitted to deallocate a
pointer that is not currently associated with the whole of an allocated target object.
Deallocation of a pointer target causes the association status of any other pointer associated
with all or part of the target to become undefined. When a pointer is deallocated, its
association status becomes disassociated, as if a NULLIFY statement had been executed.