2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / zero_sized_9.f90
blob891a0138cea8f487f85f9a3a668a0a326cc564e8
1 ! { dg-do run }
2 program main
3 implicit none
4 integer, parameter :: a(0,3) = 0
5 integer, parameter :: b(3,0) = -42
6 integer, parameter, dimension(3) :: a1 = minval(a,dim=1)
7 integer, parameter, dimension(0) :: a2 = minval(a,dim=2)
8 integer, parameter, dimension(0) :: b1 = minval(b,dim=1)
9 integer, parameter, dimension(3) :: b2 = minval(b,dim=2)
10 logical, parameter :: c(0,3) = .false.
11 logical, parameter :: d(3,0) = .false.
12 logical, parameter, dimension(3) :: tr = all(c,dim=1)
13 logical, parameter, dimension(3) :: fa = any(c,dim=1)
14 integer, parameter, dimension(3) :: ze = count(d,dim=2)
15 integer, parameter, dimension(3) :: ze2 = iany(b,dim=2)
16 integer, parameter, dimension(3) :: ze3 = iparity(a,dim=1)
17 real, parameter, dimension(0,3) :: r = 1.0
18 real, parameter, dimension(3) :: n2 = norm2(r,dim=1)
19 integer, parameter, dimension(3) :: one = product(b,dim=2)
20 integer, parameter, dimension(3) :: ze4 = sum(a,dim=1)
21 if (any(a1 /= huge(0))) stop 1
22 if (any(b2 /= huge(b2))) stop 2
23 if (any(.not.tr)) stop 3
24 if (any(fa)) stop 3
25 if (any(ze /= 0)) stop 4
26 if (any(ze2 /= 0)) stop 5
27 if (any(ze3 /= 0)) stop 6
28 if (any(n2 /= 0.0)) stop 7
29 if (any(one /= 1)) stop 8
30 if (any(ze4 /= 0)) stop 9
31 end program main