! Check to ensure only the first true clause in WHERE is
! executed.
program where_17
   integer :: a(3)

   a = (/1, 2, 3/)
   where (a .eq. 1)
     a = 2
   elsewhere (a .le. 2)
     a = 3
   elsewhere (a .le. 3)
     a = 4
   endwhere
   if (any (a .ne. (/2, 3, 4/))) call abort
end program
