1! { dg-do compile } 2! { dg-options "-ffrontend-optimize" } 3! PR fortran/88073 - this used to ICE with front-end optimization 4! Original test case by 'mecej4' 5Subroutine tfu (n, x, f) 6 Implicit None 7 Integer, Parameter :: double = Kind (0.d0) 8 Integer, Intent (In) :: n 9 Real (double), Intent (Out) :: f 10 Real (double), Intent (In) :: x (n) 11 Integer :: j 12 Logical, Dimension(n) :: l1v, l2v, l3v 13! 14 l3v = .False. 15 l2v = .False. 16 l1v = (/ (j, j=1, n) /) == 1 17 Where ( .Not. (l1v)) 18 l2v = (/ (j, j=1, n) /) == n 19 End Where 20 Where ( .Not. l1v) 21 l3v = .Not. l2v 22 End Where 23 f = sum (x(1:n), mask=l3v) 24 Return 25end subroutine tfu 26