! { dg-do run }
! { dg-options "-fdefault-integer-8 -O2" }
! Tests the fix for PR34143, where the implicit type
! conversion in the derived type constructor would fail,
! when 'yy' was not allocated.  The testscase is an
! extract from alloc_comp_constructor.f90.
!
! Reported by Thomas Koenig <tkoenig@gcc.gnu.org>
!
Program test_constructor
    implicit none
    type :: thytype
        integer(4) :: a(2,2)
    end type thytype
    type :: mytype
        integer(4), allocatable :: a(:, :)
        type(thytype), allocatable :: q(:)
    end type mytype
    integer, allocatable :: yy(:,:)
    type (thytype), allocatable :: bar(:)
    call non_alloc
    call alloc
contains
    subroutine non_alloc
      type (mytype) :: x
      x = mytype(yy, bar)
      if (allocated (x%a) .or. allocated (x%q)) call abort
    end subroutine non_alloc
    subroutine alloc
      type (mytype) :: x
      allocate (yy(2,2))
      allocate (bar(2))
      yy = reshape ([10,20,30,40],[2,2])
      bar = thytype (reshape ([1,2,3,4],[2,2]))
      x = mytype(yy, bar)
      if (.not.allocated (x%a) .or. .not.allocated (x%q)) call abort
    end subroutine alloc
end program test_constructor
