1! { dg-do compile }
2!
3! PR fortran/35820
4!
5! Memory leak(s) while resolving forall constructs.
6!
7! Contributed by Dick Hendrickson <dick.hendrickson@gmail.com>
8
9      MODULE TESTS
10      INTEGER,PARAMETER,PUBLIC  ::  I1_KV = KIND(1)
11      INTEGER,PARAMETER,PUBLIC  ::  R1_KV = KIND(1.0)
12      INTEGER, PRIVATE :: J1,J2
13      INTEGER,PARAMETER,PUBLIC  ::  S1 = 10, S2 = 9
14      CONTAINS
15      SUBROUTINE SA0136(RDA,IDA,BDA)
16      REAL(R1_KV) RDA(S1)
17      INTEGER(I1_KV) IDA(S1,S2)
18      INTEGER(I1_KV) ICA(S1,S2)
19      REAL(R1_KV) RCA(S1)
20!  T E S T  S T A T E M E N T S
21      FORALL (J1 = 1:S1)
22        RDA(J1) = RCA(J1) + 1.0_R1_KV
23        FORALL (J2 = 1:S2)
24          IDA(J1,J2) = ICA(J1,J2) + 1
25        END FORALL
26        FORALL (J2 = 1:S2)
27          IDA(J1,J2) = ICA(J1,J2)
28        END FORALL
29      ENDFORALL
30      FORALL (J1 = 1:S1)
31        RDA(J1) = RCA(J1)
32        FORALL (J2 = 1:S2)
33          IDA(J1,J2) = ICA(J1,J2)
34        END FORALL
35      END FORALL
36      END SUBROUTINE
37      END MODULE TESTS
38