view gcc/testsuite/gfortran.dg/dependency_44.f90 @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
line wrap: on
line source

! { dg-do run }
! Tests fix for PR61780 in which the loop reversal mechanism was
! not accounting for the first index being an element so that no
! loop in this dimension is created.
!
! Contributed by Manfred Tietze on clf.
!
program prgm3
    implicit none
    integer, parameter :: n = 10, k = 3
    integer :: i, j
    integer, dimension(n,n) :: y
    integer :: res1(n), res2(n)

1   format(10i5)

!initialize
    do i=1,n
        do j=1,n
            y(i,j) = n*i + j
        end do
    end do
    res2 = y(k,:)

!shift right
    y(k,4:n) = y(k,3:n-1)
    y(k,3) = 0
    res1 = y(k,:)
    y(k,:) = res2
    y(k,n:4:-1) = y(k,n-1:3:-1)
    y(k,3) = 0
    res2 = y(k,:)
!    print *, res1
!    print *, res2
    if (any(res1 /= res2)) STOP 1
end program prgm3