! { dg-do run } | |
! { dg-options "-Warray-temporaries" } | |
! PR fortran/56937 - unnecessary temporaries with vector indices | |
program main | |
real :: q(4), r(4), p(3) | |
integer :: idx(3) | |
p = [0.5, 1.0, 2.0] | |
idx = [4,3,1] | |
r = 1.0 | |
r(idx) = r(idx) + p | |
q = 1.0 | |
q(4) = q(4) + p(1) | |
q(3) = q(3) + p(2) | |
q(1) = q(1) + p(3) | |
if (any (q - r /= 0)) STOP 1 | |
end |