| ! { dg-do run } |
| program p |
| complex, parameter :: a(0) = 0 |
| real, parameter :: x(0) = 0 |
| integer, parameter :: z(0) = 0 |
| if (any(z > 0) .neqv. .false.) stop 1 |
| if (all(z > 0) .neqv. .true.) stop 2 |
| if (count(z > 0) /= 0) stop 3 |
| if (kind(count(z > 0, kind=1)) /= 1) stop 4 |
| if (iall(z) /= not(int(0, kind(z)))) stop 5 |
| if (iany(z) /= 0) stop 6 |
| if (iparity(z) /= 0) stop 7 |
| if (maxval(z) /= -huge(0) - 1) stop 8 |
| if (maxval(x) /= -huge(x)) stop 9 |
| if (minval(z) /= huge(0)) stop 10 |
| if (minval(x) /= huge(x)) stop 11 |
| if (norm2(x) /= 0) stop 12 |
| if (real(product(a)) /= 1 .and. aimag(product(a)) /= 0) stop 13 |
| if (product(x) /= 1) stop 14 |
| if (product(z) /= 1) stop 15 |
| if (real(sum(a)) /= 0 .and. aimag(sum(a)) /= 0) stop 13 |
| if (sum(x) /= 0) stop 14 |
| if (sum(z) /= 0) stop 15 |
| call q |
| end |
| |
| subroutine q |
| complex, parameter :: a(0) = 0 |
| real, parameter :: x(3,4,0) = 0 |
| integer, parameter :: z(3,4,0) = 0 |
| if (any(z > 0) .neqv. .false.) stop 101 |
| if (all(z > 0) .neqv. .true.) stop 102 |
| if (count(z > 0) /= 0) stop 103 |
| if (kind(count(z > 0, kind=1)) /= 1) stop 104 |
| if (iall(z) /= not(int(0, kind(z)))) stop 105 |
| if (iany(z) /= 0) stop 106 |
| if (iparity(z) /= 0) stop 107 |
| if (maxval(z) /= -huge(0) - 1) stop 108 |
| if (maxval(x) /= -huge(x)) stop 109 |
| if (minval(z) /= huge(0)) stop 110 |
| if (minval(x) /= huge(x)) stop 111 |
| if (norm2(x) /= 0) stop 112 |
| if (real(product(a)) /= 1 .and. aimag(product(a)) /= 0) stop 113 |
| if (product(x) /= 1) stop 114 |
| if (product(z) /= 1) stop 115 |
| if (real(sum(a)) /= 0 .and. aimag(sum(a)) /= 0) stop 13 |
| if (sum(x) /= 0) stop 14 |
| if (sum(z) /= 0) stop 15 |
| end |
| ! { dg-prune-output "symmetric range implied by Standard" } |