1! { dg-do run } 2! Tests the fix for PR24519, in which assignments with the same 3! range of an assumed shape array, on the lhs and rhs, would be 4! treated as causing a dependency. 5! 6! Contributed by Paul.Thomas <pault@gcc.gnu.org> 7! 8 integer, parameter :: n = 100 9 real :: x(n, n), v 10 x = 1 11 v = 0.1 12 call foo (x, v) 13 if (abs(sum (x) - 91.10847) > 1e-3) print *, sum (x) 14contains 15 subroutine foo (b, d) 16 real :: b(:, :) 17 real :: temp(n), c, d 18 integer :: j, k 19 do k = 1, n 20 temp = b(:,k) 21 do j = 1, n 22 c = b(k,j)*d 23 b(:,j) = b(:,j)-temp*c ! This was the offending assignment. 24 b(k,j) = c 25 end do 26 end do 27 end subroutine foo 28end 29