! { dg-do run }
! { dg-options "-fdump-tree-original" }
!
! PR 43969: [OOP] ALLOCATED() with polymorphic variables
!
! Contributed by Salvatore Filippone <sfilippone@uniroma2.it>


module foo_mod
  type foo_inner
    integer, allocatable :: v(:)
  end type foo_inner
  type foo_outer
    class(foo_inner), allocatable :: int
  end type foo_outer
contains
subroutine foo_checkit()
  implicit none
  type(foo_outer)    :: try
  type(foo_outer),allocatable :: try2
  class(foo_outer), allocatable :: try3
  
  if (allocated(try%int)) STOP 1
  allocate(foo_outer :: try3)
  if (allocated(try3%int)) STOP 2
  allocate(try2)
  if (allocated(try2%int)) STOP 3
 
end subroutine foo_checkit
end module foo_mod


program main

  use foo_mod
  implicit none
  
  call foo_checkit()

end program main

! { dg-final { scan-tree-dump-times "__builtin_free" 12 "original" } }
