annotate gcc/testsuite/gfortran.dg/maxloc_4.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
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 ! { dg-do run }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 ! Check that simplification of maxloc works
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 program main
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 implicit none
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 integer :: d
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 real, dimension(2), parameter :: a = [1.0, 0.0]
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 character(len=3), dimension(3), parameter :: c = [ "fgh", "asd", "jkl" ]
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 integer, parameter :: b = maxloc(a,dim=1)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 integer, parameter :: b2 = maxloc(a,dim=1,mask=[.false.,.false.])
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 integer, parameter :: b3 = maxloc(c,dim=1)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 integer, parameter :: b4 = maxloc(c,dim=1,mask=[c<"iii"])
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 integer, parameter,dimension(2,2) :: i1 = reshape([4,5,3,2],shape(i1))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 integer, parameter, dimension(2) :: b5 = maxloc(i1)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 integer, parameter, dimension(2) :: b6 = maxloc(i1,mask=i1>7)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 integer, parameter, dimension(2) :: b7 = maxloc(i1, mask=i1<5)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 integer, parameter, dimension(2) :: b8 = maxloc(i1, mask=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 integer, parameter, dimension(2) :: b9 = maxloc(i1, mask=.false.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 integer, parameter, dimension(2,3) :: i2 = &
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 reshape([2, -1, -3, 4, -5, 6], shape(i2))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 integer, parameter, dimension(3) :: b10 = maxloc(i2, dim=1)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 integer, parameter, dimension(2) :: b11 = maxloc(i2, dim=2)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 integer, parameter, dimension(3) :: b12 = maxloc(i2,dim=1,mask=i2<0)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 integer, parameter, dimension(2) :: b13 = maxloc(i2,dim=2, mask=i2<-10)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 if (b /= 1) STOP 1
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 if (b2 /= 0) STOP 2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 if (b3 /= 3) STOP 3
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 if (b4 /= 1) STOP 4
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 if (any(b5 /= [2,1])) STOP 5
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 if (any(b6 /= [0, 0])) STOP 6
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 if (any(b7 /= [1,1])) STOP 7
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 if (any(b8 /= b5)) STOP 8
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 if (any(b9 /= [0, 0])) STOP 9
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 d = 1
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 if (any(b10 /= maxloc(i2,dim=d))) STOP 10
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 d = 2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 if (any(b11 /= maxloc(i2,dim=2))) STOP 11
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 d = 1
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 if (any(b12 /= maxloc(i2, dim=d,mask=i2<0))) STOP 12
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 if (any(b13 /= 0)) STOP 13
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 end program main