9.15 ALLOCATED — Status of an allocatable entity

Description:

ALLOCATED(ARRAY) and ALLOCATED(SCALAR) check the allocation status of ARRAY and SCALAR, respectively.

Standard:

Fortran 90 and later. Note, the SCALAR= keyword and allocatable scalar entities are available in Fortran 2003 and later.

Class:

Inquiry function

Syntax:
RESULT = ALLOCATED(ARRAY)
RESULT = ALLOCATED(SCALAR)
Arguments:
ARRAYThe argument shall be an ALLOCATABLE array.
SCALARThe argument shall be an ALLOCATABLE scalar.
Return value:

The return value is a scalar LOGICAL with the default logical kind type parameter. If the argument is allocated, then the result is .TRUE.; otherwise, it returns .FALSE.

Example:
program test_allocated
  integer :: i = 4
  real(4), allocatable :: x(:)
  if (.not. allocated(x)) allocate(x(i))
end program test_allocated