1! { dg-do compile } 2! { dg-options "-fdump-tree-original" } 3! 4! PR 80121: Memory leak with derived-type intent(out) argument 5! 6! Contributed by Andrew Wood <andrew@fluidgravity.co.uk> 7 8PROGRAM p 9 IMPLICIT NONE 10 TYPE t1 11 INTEGER, ALLOCATABLE :: i(:) 12 END TYPE 13 call leak 14 CONTAINS 15 SUBROUTINE s1(e) 16 TYPE(t1), ALLOCATABLE, INTENT(OUT) :: e(:) 17 ALLOCATE( e(1) ) 18 ALLOCATE( e(1)%i(2) ) 19 END SUBROUTINE 20 SUBROUTINE leak 21 TYPE(t1), ALLOCATABLE :: e(:) 22 CALL s1(e) 23 CALL s1(e) 24 END SUBROUTINE 25END PROGRAM 26 27! { dg-final { scan-tree-dump-times "__builtin_free" 6 "original" } } 28