2011-02-15 Tobias Burnus <burnus@net-b.de>
[official-gcc.git] / gcc / testsuite / gfortran.dg / forall_6.f90
blob158c549cce16ca3cfbf0be537fe869c2c22be8ab
1 ! PR fortran/30404
2 ! Checks that we correctly handle nested masks in nested FORALL blocks.
3 ! Contributed by Paul Thomas <pault@gcc.gnu.org>
5 ! { dg-do run }
6 logical :: l1(2,2)
7 integer :: it(2,2)
8 l1(:,:) = reshape ((/.false.,.true.,.true.,.false./), (/2,2/))
9 it(:,:) = reshape ((/1,2,3,4/), (/2,2/))
10 forall (i = 1:2, i < 3)
11 forall (j = 1:2, l1(i,j))
12 it(i, j) = 0
13 end forall
14 end forall
15 ! print *, l1
16 ! print '(4i2)', it
17 if (any (it .ne. reshape ((/1, 0, 0, 4/), (/2, 2/)))) call abort ()
18 end