blob: 03036ed382a825694e8f101f6e79a4cc5aa52783 [file] [log] [blame]
! { dg-do run }
!
! PR fortran/92178
! Check that if a data reference passed is as actual argument whose dummy
! has INTENT(OUT) attribute, any other argument depending on the
! same data reference is evaluated before the data reference deallocation.
program p
implicit none
class(*), allocatable :: c
c = 3
call bar (allocated(c), c, allocated (c))
if (allocated (c)) stop 14
contains
subroutine bar (alloc, x, alloc2)
logical :: alloc, alloc2
class(*), allocatable, intent(out) :: x(..)
if (allocated (x)) stop 5
if (.not. alloc) stop 6
if (.not. alloc2) stop 16
end subroutine bar
end