! PR tree-optimization/29581 | |
! { dg-do run } | |
! { dg-options "-O2 -ftree-loop-linear" } | |
SUBROUTINE FOO (K) | |
INTEGER I, J, K, A(5,5), B | |
COMMON A | |
A(1,1) = 1 | |
10 B = 0 | |
DO 30 I = 1, K | |
DO 20 J = 1, K | |
B = B + A(I,J) | |
20 CONTINUE | |
A(I,I) = A(I,I) * 2 | |
30 CONTINUE | |
IF (B.GE.3) RETURN | |
GO TO 10 | |
END SUBROUTINE | |
PROGRAM BAR | |
INTEGER A(5,5) | |
COMMON A | |
CALL FOO (2) | |
IF (A(1,1).NE.8) CALL ABORT | |
A(1,1) = 0 | |
IF (ANY(A.NE.0)) CALL ABORT | |
END |