! 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