1! PR tree-optimization/29581
2! { dg-do run }
3! { dg-skip-if "" { *-*-* } { "-O0" } { "" } }
4! { dg-additional-options "-ftree-loop-linear" }
5
6      SUBROUTINE FOO (K)
7      INTEGER I, J, K, A(5,5), B
8      COMMON A
9      A(1,1) = 1
10 10   B = 0
11      DO 30 I = 1, K
12        DO 20 J = 1, K
13          B = B + A(I,J)
14 20     CONTINUE
15        A(I,I) = A(I,I) * 2
16 30   CONTINUE
17      IF (B.GE.3) RETURN
18      GO TO 10
19      END SUBROUTINE
20
21      PROGRAM BAR
22        INTEGER A(5,5)
23        COMMON A
24        CALL FOO (2)
25        IF (A(1,1).NE.8) STOP 1
26        A(1,1) = 0
27        IF (ANY(A.NE.0)) STOP 2
28      END
29