! { dg-do run } ! ! PR 55072: [4.6/4.7/4.8 Regression] Missing internal_pack leads to wrong code with derived type ! ! Contributed by Tobias Burnus implicit none type t integer :: i end type t type(t), target :: tgt(4,4) type(t), pointer :: p(:,:) integer :: i,j,k k = 1 do i = 1, 4 do j = 1, 4 tgt(i,j)%i = k k = k+1 end do end do p => tgt(::2,::2) print *,p%i call bar(p) contains subroutine bar(x) type(t) :: x(*) print *,x(1:4)%i if (any (x(1:4)%i /= [1, 9, 3, 11])) call abort() end subroutine end