PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gfortran.dg / zero_sized_8.f90
blob6faea88968d6ef399df10f34d712a37a26b4980e
1 ! { dg-do run }
2 program p
3 complex, parameter :: a(0) = 0
4 real, parameter :: x(0) = 0
5 integer, parameter :: z(0) = 0
6 if (any(z > 0) .neqv. .false.) stop 1
7 if (all(z > 0) .neqv. .true.) stop 2
8 if (count(z > 0) /= 0) stop 3
9 if (kind(count(z > 0, kind=1)) /= 1) stop 4
10 if (iall(z) /= not(int(0, kind(z)))) stop 5
11 if (iany(z) /= 0) stop 6
12 if (iparity(z) /= 0) stop 7
13 if (maxval(z) /= -huge(0) - 1) stop 8
14 if (maxval(x) /= -huge(x)) stop 9
15 if (minval(z) /= huge(0)) stop 10
16 if (minval(x) /= huge(x)) stop 11
17 if (norm2(x) /= 0) stop 12
18 if (real(product(a)) /= 1 .and. aimag(product(a)) /= 0) stop 13
19 if (product(x) /= 1) stop 14
20 if (product(z) /= 1) stop 15
21 if (real(sum(a)) /= 0 .and. aimag(sum(a)) /= 0) stop 13
22 if (sum(x) /= 0) stop 14
23 if (sum(z) /= 0) stop 15
24 call q
25 end
27 subroutine q
28 complex, parameter :: a(0) = 0
29 real, parameter :: x(3,4,0) = 0
30 integer, parameter :: z(3,4,0) = 0
31 if (any(z > 0) .neqv. .false.) stop 101
32 if (all(z > 0) .neqv. .true.) stop 102
33 if (count(z > 0) /= 0) stop 103
34 if (kind(count(z > 0, kind=1)) /= 1) stop 104
35 if (iall(z) /= not(int(0, kind(z)))) stop 105
36 if (iany(z) /= 0) stop 106
37 if (iparity(z) /= 0) stop 107
38 if (maxval(z) /= -huge(0) - 1) stop 108
39 if (maxval(x) /= -huge(x)) stop 109
40 if (minval(z) /= huge(0)) stop 110
41 if (minval(x) /= huge(x)) stop 111
42 if (norm2(x) /= 0) stop 112
43 if (real(product(a)) /= 1 .and. aimag(product(a)) /= 0) stop 113
44 if (product(x) /= 1) stop 114
45 if (product(z) /= 1) stop 115
46 if (real(sum(a)) /= 0 .and. aimag(sum(a)) /= 0) stop 13
47 if (sum(x) /= 0) stop 14
48 if (sum(z) /= 0) stop 15
49 end
50 ! { dg-prune-output "symmetric range implied by Standard" }