! { dg-do compile }
! PR fortran/55314 - the second allocate statement was rejected.

program main
  implicit none
  integer :: max_nb
  type comm_mask
    integer(4), pointer :: mask(:)
  end type comm_mask
  type (comm_mask), allocatable, save :: encode(:,:)
  max_nb=2
  allocate( encode(1:1,1:max_nb))
  allocate( encode(1,1)%mask(1),encode(1,2)%mask(1))
  deallocate( encode(1,1)%mask,encode(1,2)%mask)
  allocate( encode(1,1)%mask(1),encode(1,1)%mask(1))  ! { dg-error "also appears at" }
end program main