annotate gcc/testsuite/gfortran.dg/forall_1.f90 @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do run }
kono
parents:
diff changeset
2 ! tests FORALL statements with a mask
kono
parents:
diff changeset
3 dimension i2(15,10), i1(15)
kono
parents:
diff changeset
4 type a
kono
parents:
diff changeset
5 sequence
kono
parents:
diff changeset
6 integer k
kono
parents:
diff changeset
7 end type a
kono
parents:
diff changeset
8 type(a) :: a1(10), a2(5,5)
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 i1 = (/ 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 0, 0, 13, 14 /)
kono
parents:
diff changeset
11 forall (i=1:15, i1(i) /= 0)
kono
parents:
diff changeset
12 i1(i) = 0
kono
parents:
diff changeset
13 end forall
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
14 if (any(i1 /= 0)) STOP 1
111
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 a1(:)%k = i1(1:10)
kono
parents:
diff changeset
17 forall (i=1:10, a1(i)%k == 0)
kono
parents:
diff changeset
18 a1(i)%k = i
kono
parents:
diff changeset
19 end forall
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
20 if (any (a1(:)%k /= (/ (i, i=1,10) /))) STOP 2
111
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 forall (i=1:15, j=1:10, a1(j)%k <= j)
kono
parents:
diff changeset
23 i2(i,j) = j + i*11
kono
parents:
diff changeset
24 end forall
kono
parents:
diff changeset
25 do i=1,15
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
26 if (any (i2(i,:) /= (/ (i*11 + j, j=1,10) /))) STOP 3
111
kono
parents:
diff changeset
27 end do
kono
parents:
diff changeset
28 end