1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
! { dg-do compile }
! PR 60522 - this used to ICE.
! Original test case Roger Ferrer Ibanez
subroutine foo(a, b)
implicit none
integer, dimension(:), intent(inout) :: a
integer, dimension(:), intent(in) :: b
where (b(:) > 0)
where (b(:) > 100)
a(lbound(a, 1):ubound(a, 1)) = b(lbound(b, 1):ubound(b, 1)) * b(lbound(b, 1):ubound(b, 1)) - 100
elsewhere
a(lbound(a, 1):ubound(a, 1)) = b(lbound(b, 1):ubound(b, 1)) * b(lbound(b, 1):ubound(b, 1))
end where
elsewhere
a(lbound(a, 1):ubound(a, 1)) = - b(lbound(b, 1):ubound(b, 1)) * b(lbound(b, 1):ubound(b, 1))
end where
end subroutine foo
|