1! { dg-do compile }
2! PR 26039:  Tests for different ranks for (min|max)loc, (min|max)val, product
3!            and sum were missing.
4program main
5  integer, dimension(2) :: a
6  logical, dimension(2,1) :: lo
7  logical, dimension(3) :: lo2
8  a = (/ 1, 2 /)
9  lo = .true.
10  print *,minloc(a,mask=lo) ! { dg-error "Incompatible ranks" }
11  print *,maxloc(a,mask=lo) ! { dg-error "Incompatible ranks" }
12  print *,minval(a,mask=lo) ! { dg-error "Incompatible ranks" }
13  print *,maxval(a,mask=lo) ! { dg-error "Incompatible ranks" }
14  print *,sum(a,mask=lo) ! { dg-error "Incompatible ranks" }
15  print *,product(a,mask=lo) ! { dg-error "Incompatible ranks" }
16  print *,minloc(a,1,mask=lo) ! { dg-error "Incompatible ranks" }
17  print *,maxloc(a,1,mask=lo) ! { dg-error "Incompatible ranks" }
18  print *,minval(a,1,mask=lo) ! { dg-error "Incompatible ranks" }
19  print *,maxval(a,1,mask=lo) ! { dg-error "Incompatible ranks" }
20  print *,sum(a,1,mask=lo) ! { dg-error "Incompatible ranks" }
21  print *,product(a,1,mask=lo) ! { dg-error "Incompatible ranks" }
22
23  print *,minloc(a,mask=lo2) ! { dg-error "Different shape" }
24  print *,maxloc(a,mask=lo2) ! { dg-error "Different shape" }
25  print *,minval(a,mask=lo2) ! { dg-error "Different shape" }
26  print *,maxval(a,mask=lo2) ! { dg-error "Different shape" }
27  print *,sum(a,mask=lo2) ! { dg-error "Different shape" }
28  print *,product(a,mask=lo2) ! { dg-error "Different shape" }
29  print *,minloc(a,1,mask=lo2) ! { dg-error "Different shape" }
30  print *,maxloc(a,1,mask=lo2) ! { dg-error "Different shape" }
31  print *,minval(a,1,mask=lo2) ! { dg-error "Different shape" }
32  print *,maxval(a,1,mask=lo2) ! { dg-error "Different shape" }
33  print *,sum(a,1,mask=lo2) ! { dg-error "Different shape" }
34  print *,product(a,1,mask=lo2) ! { dg-error "Different shape" }
35end program main
36