! Program to test WHERE inside FORALL and the WHERE assignment need temporary
program where_6
   integer :: A(5,5)

   A(1,:) = (/1,0,0,0,0/)
   A(2,:) = (/2,1,1,1,0/)
   A(3,:) = (/1,2,2,0,2/)
   A(4,:) = (/2,1,0,2,3/)
   A(5,:) = (/1,0,0,0,0/)

   ! Where inside FORALL.
   ! WHERE masks must be evaluated before executing the assignments
   m=5
   forall (I=1:4)
      where (A(I,:) .EQ. 0)
         A(1:m,I) = A(1:m,I+1) + I
      elsewhere (A(I,:) >2)
         A(I,1:m) = 6
      endwhere
   end forall
   if (any (A .ne. reshape ((/1,2,6,2,1,0,1,2,1,2,0,1,2,5,0,0,1,6,2,0,0,0,2,&
                             6,0/), (/5, 5/)))) STOP 1
end
