1! { dg-do run }
2! PR 35993 - some intrinsics with mask = .false. didn't set
3! the whole return array for multi-dimensional arrays.
4! Test case adapted from Dick Hendrickson.
5
6      program try
7
8      call       ga3019(  1,  2,  3,  4)
9      end program
10
11      SUBROUTINE GA3019(nf1,nf2,nf3,nf4)
12      INTEGER IDA(NF2,NF3)
13      INTEGER IDA1(NF2,NF4,NF3)
14
15      ida1 = 3
16
17      ida = -3
18      IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, NF1 .LT. 0)  !fails
19      if (any(ida /= 1)) call abort
20
21      ida = -3
22      IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, .false. )    !fails
23      if (any(ida /= 1)) call abort
24
25      ida = -3
26      IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, ida1 .eq. 137 )    !works
27      if (any(ida /= 1)) call abort
28
29      END SUBROUTINE
30