| ! { dg-do run } |
| ! |
| ! PR fortran/53389 |
| ! |
| ! The program was leaking memory before due to |
| ! realloc on assignment and nested functions. |
| ! |
| module foo |
| implicit none |
| contains |
| |
| function filler(array, val) |
| real, dimension(:), intent(in):: array |
| real, dimension(size(array)):: filler |
| real, intent(in):: val |
| |
| filler=val |
| |
| end function filler |
| end module |
| |
| program test |
| use foo |
| implicit none |
| |
| real, dimension(:), allocatable:: x, y |
| integer, parameter:: N=1000 !*1000 |
| integer:: i |
| |
| ! allocate( x(N) ) |
| allocate( y(N) ) |
| y=0.0 |
| |
| do i=1, N |
| ! print *,i |
| x=filler(filler(y, real(2*i)), real(i)) |
| y=y+x |
| end do |
| |
| end program test |