1! Check to ensure only the first true clause in WHERE is
2! executed.
3program where_17
4 integer :: a(3)
5
6 a = (/1, 2, 3/)
7 where (a .eq. 1)
8 a = 2
9 elsewhere (a .le. 2)
10 a = 3
11 elsewhere (a .le. 3)
12 a = 4
13 endwhere
14 if (any (a .ne. (/2, 3, 4/))) call abort
15end program
16