https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84141
Paul Thomas <pault at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |pault at gcc dot gnu.org --- Comment #19 from Paul Thomas <pault at gcc dot gnu.org> --- I had better take this one :-( This works as intended: subroutine vamp_equivalence_write (eq, unit) integer, intent(in), optional :: unit integer :: u type(vamp_equivalence_t), intent(in) :: eq integer, dimension(:), pointer :: permutation ! copy the component allocate (permutation, source = eq%permutation) ! here and all is well u = 6; if (present (unit)) u = unit write (u, "(5x,A,99(1x,I0))") "Permutation:", permutation ! for IO deallocate (permutation) end subroutine vamp_equivalence_write Paul