blob: 3fe8aef8f0035eb20ce6b4f3a5dec372341b8b4c [file] [log] [blame]
! { dg-do compile }
! { dg-options "-fdump-tree-original" }
!
! PR 80121: Memory leak with derived-type intent(out) argument
!
! Contributed by Andrew Wood <andrew@fluidgravity.co.uk>
PROGRAM p
IMPLICIT NONE
TYPE t1
INTEGER, ALLOCATABLE :: i(:)
END TYPE
call leak
CONTAINS
SUBROUTINE s1(e)
TYPE(t1), ALLOCATABLE, INTENT(OUT) :: e(:)
ALLOCATE( e(1) )
ALLOCATE( e(1)%i(2) )
END SUBROUTINE
SUBROUTINE leak
TYPE(t1), ALLOCATABLE :: e(:)
CALL s1(e)
CALL s1(e)
END SUBROUTINE
END PROGRAM
! { dg-final { scan-tree-dump-times "__builtin_free" 6 "original" } }