2 ! Tests the fix for PR32298, in which the scalarizer would generate
3 ! a temporary in the course of evaluating MINLOC or MAXLOC, thereby
4 ! setting the start of the scalarizer loop to zero.
6 ! Contributed by Jens Bischoff <jens.bischoff@freenet.de>
10 INTEGER, PARAMETER :: N
= 7
12 DOUBLE PRECISION, DIMENSION (N
), PARAMETER :: A
&
13 = (/ 0.3D0
, 0.455D0
, 0.6D0
, 0.7D0
, 0.72D0
, 0.76D0
, 0.79D0
/)
16 INTEGER :: I
, J(N
), K(N
)
20 J(I
) = MINLOC (ABS (A
- B
), 1)
21 K(I
) = MAXLOC (ABS (A
- B
), 1)
24 if (any (J
.NE
. (/1,2,3,4,5,6,7/))) call abort ()
25 if (any (K
.NE
. (/7,7,1,1,1,1,1/))) call abort ()
29 END PROGRAM ERR_MINLOC