| ! Check that in the case of a data reference depending on its own content |
| ! passed as actual argument to an INTENT(OUT) dummy, no reference to the |
| ! content happens after the deallocation. |
| class(t), allocatable :: ta(:) |
| type(u), allocatable :: c(:) |
| c = [u([t(1), t(3)]), u([t(4), t(9)])] |
| allocated (c(c(1)%ta(1)%i)%ta), & |
| allocated (c(c(1)%ta(1)%i)%ta) & |
| if (allocated(c(1)%ta)) stop 11 |
| if (.not. allocated(c(2)%ta)) stop 12 |
| subroutine bar (alloc, x, alloc2) |
| class(t), allocatable, intent(out) :: x(:) |
| if (allocated (x)) stop 1 |