! { dg-do compile }
!
! Tests the fix for PR67564 in which allocate with source for an unlimited
! polymorphic array and a character source would ICE.
!
! Contributed by Neil Carlson  <neil.n.carlson@gmail.com>
!
program main
  type :: any_vector
    class(*), allocatable :: x(:)
  end type
  type(any_vector) :: a
  character(kind = 1, len = 5) :: chr1(3) = ["one  ","two  ","three"]
  character(kind = 4, len = 2) :: chr4(2) = [character(kind=4) :: 4_"ab", 4_"cd"]
  real(8) :: r(2) = [1d0,2d0]

  allocate (a%x(3), source = chr1)
  call check
  allocate (a%x(2), source = chr4)
  call check
  allocate (a%x(2), source = r)
  call check

contains
  subroutine check
    select type (z => a%x)
      type is (real(8))
        if (any (z .ne. r)) STOP 1
      type is (character(kind = 1, len = *))
        if (any(z .ne. chr1)) STOP 2
      type is (character(kind = 4, len = *))
        if (any(z .ne. chr4)) STOP 3
    end select
    deallocate (a%x)
  end subroutine
end program
