OSDN Git Service

ChangeLogs fixed, again.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / minmaxloc_2.f90
1 ! { dg-do run }
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.
5 !
6 ! Contributed by Jens Bischoff <jens.bischoff@freenet.de> 
7 !
8 PROGRAM ERR_MINLOC
9
10    INTEGER, PARAMETER :: N = 7
11
12    DOUBLE PRECISION, DIMENSION (N), PARAMETER :: A &
13      = (/ 0.3D0, 0.455D0, 0.6D0, 0.7D0, 0.72D0, 0.76D0, 0.79D0 /)
14
15    DOUBLE PRECISION :: B
16    INTEGER          :: I, J(N), K(N)
17
18   DO I = 1, N
19     B = A(I)
20     J(I) = MINLOC (ABS (A - B), 1)
21     K(I) = MAXLOC (ABS (A - B), 1)
22   END DO
23
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 ()
26
27   STOP
28
29 END PROGRAM ERR_MINLOC