Allows you to move allocation status, dynamic type, type parameter values, bounds information, and values from one object to another.
subroutine
If FROM is deallocated, the allocation status of TO is deallocated.
If FROM is allocated, TO is allocated with the same dynamic type, type parameters, array bounds, and value as those of FROM.
If TO has the TARGET attribute, any pointer associated with FROM is correspondingly associated with TO.
If TO does not have the TARGET attribute, the association status of any pointer that was associated with FROM when you call MOVE_ALLOC becomes undefined.