1! Tests WHERE statement with a data dependency
2program where_4
3   integer, dimension(5) :: a
4   integer, dimension(5) :: b
5
6   a = (/1, 2, 3, 4, 5/)
7   b = (/1, 0, 1, 0, 1/)
8
9   where (b .ne. 0)
10      a(:) = a(5:1:-1)
11   endwhere
12   if (any (a .ne. (/5, 2, 3, 4, 1/))) STOP 1
13end program
14