1! Check whether conditional ELSEWHEREs work
2! (without unconditional ELSEWHERE)
3program where_11
4   integer :: a(5)
5   integer :: b(5)
6
7   a = (/1, 2, 3, 4, 5/)
8   b = (/0, 0, 0, 0, 0/)
9   where (a .eq. 1)
10     b = 3
11   elsewhere (a .eq. 2)
12     b = 1
13   elsewhere (a .eq. 3)
14     b = 4
15   elsewhere (a .eq. 4)
16     b = 1
17   elsewhere (a .eq. 5)
18     b = 5
19   endwhere
20   if (any (b .ne. (/3, 1, 4, 1, 5/))) &
21     call abort
22end program
23
24