Fortran Wiki
Dynamic Memory Reallocation

Proposal: Support reallocation of dynamic memory associated with Pointer and Allocatable arrays.

Rationale: It is often useful to expand or shrink an array with existing data. This can result in significant overhead for large arrays. Reallocation of large arrays is always very efficient because memory pages can be remapped even if there is not room available at the end of the existing allocation.