1! { dg-do run }
2!
3! PR fortran/38282
4!
5implicit none
6integer :: a(2,1)
7
8a(1,1) = 35
9a(2,1) = -74
10
11if (iand(a(1,1),a(2,1)) /= iall(a)) STOP 1
12if (iand(a(1,1),a(2,1)) /= iall(array=[35, -74])) STOP 2
13if (any (iand(a(1,1),a(2,1)) /= iall(a,dim=1))) STOP 3
14if (iand(a(1,1),a(2,1)) /= iall(dim=1,mask=[.true.,.true.],array=[35, -74])) STOP 4
15
16if (ior(a(1,1),a(2,1)) /= iany(a)) STOP 5
17if (ior(a(1,1),a(2,1)) /= iany(array=[35, -74])) STOP 6
18if (any (ior(a(1,1),a(2,1)) /= iany(a,dim=1))) STOP 7
19if (ior(a(1,1),a(2,1)) /= iany(dim=1,mask=[.true.,.true.],array=[35, -74])) STOP 8
20
21if (ieor(a(1,1),a(2,1)) /= iparity(a)) STOP 9
22if (ieor(a(1,1),a(2,1)) /= iparity(array=[35, -74])) STOP 10
23if (any (ieor(a(1,1),a(2,1)) /= iparity(a,dim=1))) STOP 11
24if (ieor(a(1,1),a(2,1)) /= iparity(dim=1,mask=[.true.,.true.],array=[35, -74])) STOP 12
25
26end
27