1! { dg-do run }
2program 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
25end
26
27subroutine 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
49end
50! { dg-prune-output "symmetric range implied by Standard" }
51