summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.fortran-torture/execute/scalarize2.f90
blob: 608c051d31c3ad815702333b0dba97da5de39462 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
! Program to test the scalarizer
program testarray
   implicit none
   integer, dimension (:, :), allocatable :: a, b
   integer n

   allocate(a(6, 5), b(6, 5))
   a = 0
   do n = 1, 5
      a(4, n) = n
   end do

   b(:, 5:1:-1) = a
   a(1:5, 2) = a(4, :) + 1

   ! The following expression should cause loop reordering
   a(:, 2:4) = a(:, 1:3)

   do n = 1, 5
      if (a(n, 3) .ne. (n + 1)) call abort
      if (b(4, n) .ne. (6 - n)) call abort
   end do
end program