! { 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