https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126517

--- Comment #4 from Mikael Morin <mikael at gcc dot gnu.org> ---
(In reply to Steve Kargl from comment #3)
> I would need to dig out an older standard.  IIRC, in the old days an
> allocatable entity could be undefined, unallocated, or allocated.
> I think, but need to check, F18 decided such an entity could only be
> unallocated or allocated, and removed the undefine-ness possibility.
> The statement on page 149 of Fortran 2023 that may be relevant is
> 
>     At the beginning of execution of a program, allocatable variables
>     are unallocated.
> 
>From the 04-007 document (that's f2003 I think):
    The allocation status of an allocatable entity is one of the following at
    any time during the execution of a program:
     (1) The status of an allocatable variable becomes allocated if (...). An
         allocatable variable with this status may be referenced, defined, or
         deallocated; (...)
     (2) An allocatable variable has a status of unallocated if (...). An
         allocatable variable with this status shall not be referenced or
         defined. It shall not be supplied as an actual argument corresponding
         to a nonallocatable dummy argument, except to certain intrinsic
inquiry
         functions. (...)

    At the beginning of execution of a program, allocatable variables are
    unallocated.

I think this wording is only marginally different from f2023.  The main
principles are the same.

Reply via email to