Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[flang] Fix element indexing in Destroy component deallocation
Derived type `Destroy` function does not take step into consideration when indexing the component element for deallocation. This leads to incorrect deallocation in case like: ``` module mod1 type :: t real, allocatable :: r(:) end type contains subroutine do_smth(c) class(t), intent(out) :: c(:) do i = 1, size(c) if (allocated(c(i)%r)) then print*, i, 'not deallocated' end if end do end subroutine end module program test use mod1 type(t) :: z(6) integer :: i do i = 1, 6 Allocate(z(i)%r(i)) end do call do_smth(z(::2)) end ``` Similar change was done in D142527 Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D144553
- Loading branch information