blob: 7fc4a209b34b9fdac12461e3dd19c6384c7c65ce [file] [log] [blame]
! { dg-do run }
! PR fortran/118120 - potential aliasing of complex pointer inquiry references
!
! Contributed by Slava Zakharin < szakharin at nvidia dot com >
program main
implicit none
integer :: k
complex, target :: data(21)
do k=1,21
data(k) = cmplx(-k,0.0)
end do
call test(1, 1, data)
! print *, data
if ( data(1) /= -1.) stop 1
if (any (data(2:)% re /= [(k,k=1,20)])) stop 2
call pr113928 ()
contains
subroutine test(i, j, data)
integer :: i, j
complex, target :: data(21)
real, pointer :: result(:,:,:,:)
complex, pointer :: temp(:,:)
result(i:i,j:j,1:4,1:5) => data(2:)%re
temp(1:4,1:5) => data(1:20)
result(i,j,:,:) = abs(temp)
end subroutine test
end program main
! PR fortran/113928
!
! Contributed by < eddyg_61-bugzilla at yahoo dot it >
subroutine pr113928
implicit none
integer, parameter :: N = 4
complex, target :: wz(N) = 0.
real, pointer :: wr(:)
integer :: i
wr => wz%re
wr = [(i,i=1,N)]
wr = wr + wz(N:1:-1)%re
! print *, wr
if (any (wr /= N+1)) stop 3
end