34 lines
975 B
Fortran
34 lines
975 B
Fortran
|
! { dg-do compile }
|
||
|
! PR 25076
|
||
|
! We erroneously accepted it when a FORALL index was used in a triplet
|
||
|
! specification within the same FORALL header
|
||
|
INTEGER :: A(10,10)
|
||
|
FORALL(I=1:10,J=I:10) ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
|
||
|
A(I,J)=I+J
|
||
|
ENDFORALL
|
||
|
|
||
|
forall (i=1:10, j=1:i) ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
|
||
|
a(i,j) = 5
|
||
|
end forall
|
||
|
|
||
|
forall (i=1:10, j=1:10:i) ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
|
||
|
a(i,j) = i - j
|
||
|
end forall
|
||
|
|
||
|
forall (i=i:10) ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
|
||
|
forall (j=1:j:i) ! { dg-error "FORALL index 'j' may not appear in triplet specification" }
|
||
|
a(i,j) = i*j
|
||
|
end forall
|
||
|
end forall
|
||
|
|
||
|
forall (i=1:10:i) ! { dg-error "FORALL index 'i' may not appear in triplet specification" }
|
||
|
a(1,i) = 2
|
||
|
end forall
|
||
|
|
||
|
forall (i=1:10)
|
||
|
forall (j=i:10)
|
||
|
a(i,j) = i*j
|
||
|
end forall
|
||
|
end forall
|
||
|
END
|