1! Check we do the right thing with extreme values. 2! From PR12704 3program intrinsic_mmloc_3 4 integer, dimension(2) :: d 5 integer, dimension(2,2) :: a 6 logical, dimension(2) :: k 7 logical, dimension(2,2) :: l 8 9 k = .true. 10 l = .true. 11 12 d = -huge (d) 13 if (maxloc (d, 1) .ne. 1) STOP 1 14 15 d = huge (d) 16 if (minloc (d, 1) .ne. 1) STOP 2 17 18 d = -huge (d) 19 if (maxloc (d, 1, k) .ne. 1) STOP 3 20 21 d = huge (d) 22 if (minloc (d, 1, k) .ne. 1) STOP 4 23 24 a = -huge (a) 25 d = maxloc (a) 26 if (any (d .ne. 1)) STOP 5 27 28 a = huge (a) 29 d = minloc (a) 30 if (any (d .ne. 1)) STOP 6 31 32 a = -huge (a) 33 d = maxloc (a, l) 34 if (any (d .ne. 1)) STOP 7 35 36 a = huge (a) 37 d = minloc (a, l) 38 if (any (d .ne. 1)) STOP 8 39 40end program 41