1! { dg-do compile }
2! PR 25076
3! We erroneously accepted it when a FORALL index was used in a triplet
4! specification within the same FORALL header
5INTEGER :: A(10,10)
6FORALL(I=1:10,J=I:10) ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
7  A(I,J)=I+J
8ENDFORALL
9
10forall (i=1:10, j=1:i)  ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
11   a(i,j) = 5
12end forall
13
14forall (i=1:10, j=1:10:i)  ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
15   a(i,j) = i - j
16end forall
17
18forall (i=i:10) ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
19   forall (j=1:j:i)  !  { dg-error "FORALL index 'j' may not appear in triplet specification" }
20      a(i,j) = i*j
21   end forall
22end forall
23
24forall (i=1:10:i) ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
25   a(1,i) = 2
26end forall
27
28forall (i=1:10)
29   forall (j=i:10)
30      a(i,j) = i*j
31   end forall
32end forall
33END
34