fix pr/45972
[official-gcc.git] / gcc / testsuite / gfortran.dg / intrinsic_product_1.f90
blob34d34fe81581c0bfe3cff0d8df079aa70772db6a
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.
6 program try
8 call ga3019( 1, 2, 3, 4)
9 end program
11 SUBROUTINE GA3019(nf1,nf2,nf3,nf4)
12 INTEGER IDA(NF2,NF3)
13 INTEGER IDA1(NF2,NF4,NF3)
15 ida1 = 3
17 ida = -3
18 IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, NF1 .LT. 0) !fails
19 if (any(ida /= 1)) call abort
21 ida = -3
22 IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, .false. ) !fails
23 if (any(ida /= 1)) call abort
25 ida = -3
26 IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, ida1 .eq. 137 ) !works
27 if (any(ida /= 1)) call abort
29 END SUBROUTINE