The next release will include a new FTN95 command line option /ALLOW_AOA. This will activate the Fortran 2003 feature that permits the assignment of an ALLOCATABLE object without a prior ALLOCATE. By default, ALLOW_AOA will be set false and this is a change from existing versions of FTN95.
This means that use of 'allocate on assignment' will in future require the addition of this option to the command or that FTN95 be configured (via /CONFIG) to make this the default.
When allocating an array via an ALLOCATE statement, the lower bounds can be prescribed or allowed to take a default value of one. When re-allocated via 'allocate on assigment' the lower bounds cannot be prescribed and must have their default value.
This means that the compiler must plant code for every potential 'allocate on assignment' in order, first to test if the array has been allocated and (if it has) if its shape is different from that of the source array. A re-allocate must only be perfomed when there is a change of shape. In other words, 'allocate on assigment' incurs a significant overhead. Similar considerations apply for other objects such as allocatable CHARACTER variables.
The new option gives the user control over this overhead and protects legacy code from any adverse impact.