http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57696
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- >From Fortran 2008, "7.2.1.3 Interpretation of intrinsic assignments", paragraph 13 (excerpt): "For a noncoarray allocatable component the following sequence of operations is applied. (1) If the component of the variable is allocated, it is deallocated. (2) If the component of the value of expr is allocated, the corresponding component of the variable is allocated with the same dynamic type and type parameters as the component of the value of expr. If it is an array, it is allocated with the same bounds. The value of the component of the value of expr is then assigned to the corresponding component of the variable using defined assignment if the declared type of the component has a type-bound defined assignment consistent with the component, and intrinsic assignment for the dynamic type of that component otherwise."