Le jeudi 05 mai 2011 à 15:37 +0200, Matthias Klose a écrit :
> On 05/05/2011 03:00 PM, Sylvestre Ledru wrote:
> > Le jeudi 05 mai 2011 à 14:10 +0200, Matthias Klose a écrit :
> >> Package: blas
> >> Version: 1.2-8
> >> Severity: serious
> >>
> >> currently fails to build on i386 with -O2 or -O3.
> > OK, I have been able to reproduce it on my system.
> >
> >> didn't check if it's exposed
> >> by eglibc or gcc, or if some upstream fixes are needed (the upstream site 
> >> has
> >> some new files dating from April 2011).
> > Where did you see the new files ?
> 
> ftp://ftp.netlib.org/blas, as mentioned in the copyright.
> 
> e.g.
> -rw-rw-r--   1 1294     732         1081 Apr 19 15:11 zcopy.f
> -rw-rw-r--   1 1294     732         1294 Apr 19 15:11 zdotc.f
OK. Thanks.
Let's see what upstream says.

For the record, you will see the diff attached. Don't think it is
related (looks like GOTO removed).

Sylvestre

--- src/zcopy.f	2007-12-29 16:11:10.000000000 +0100
+++ zcopy.f	2011-05-05 15:40:01.000000000 +0200
@@ -9,35 +9,41 @@
 *  Purpose
 *  =======
 *
-*     copies a vector, x, to a vector, y.
+*     ZCOPY copies a vector, x, to a vector, y.
+*
+*  Further Details
+*  ===============
+*
 *     jack dongarra, linpack, 4/11/78.
 *     modified 12/3/93, array(1) declarations changed to array(*)
 *
+*  =====================================================================
 *
 *     .. Local Scalars ..
       INTEGER I,IX,IY
 *     ..
       IF (N.LE.0) RETURN
-      IF (INCX.EQ.1 .AND. INCY.EQ.1) GO TO 20
-*
-*        code for unequal increments or equal increments
-*          not equal to 1
-*
-      IX = 1
-      IY = 1
-      IF (INCX.LT.0) IX = (-N+1)*INCX + 1
-      IF (INCY.LT.0) IY = (-N+1)*INCY + 1
-      DO 10 I = 1,N
-          ZY(IY) = ZX(IX)
-          IX = IX + INCX
-          IY = IY + INCY
-   10 CONTINUE
-      RETURN
+      IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
 *
 *        code for both increments equal to 1
 *
-   20 DO 30 I = 1,N
+         DO I = 1,N
           ZY(I) = ZX(I)
-   30 CONTINUE
+         END DO
+      ELSE
+*
+*        code for unequal increments or equal increments
+*          not equal to 1
+*
+         IX = 1
+         IY = 1
+         IF (INCX.LT.0) IX = (-N+1)*INCX + 1
+         IF (INCY.LT.0) IY = (-N+1)*INCY + 1
+         DO I = 1,N
+            ZY(IY) = ZX(IX)
+            IX = IX + INCX
+            IY = IY + INCY
+         END DO
+      END IF
       RETURN
       END
--- src/zdotc.f	2007-12-29 16:11:10.000000000 +0100
+++ zdotc.f	2011-05-05 15:40:04.000000000 +0200
@@ -17,6 +17,8 @@
 *     jack dongarra, 3/11/78.
 *     modified 12/3/93, array(1) declarations changed to array(*)
 *
+*  =====================================================================
+*
 *     .. Local Scalars ..
       DOUBLE COMPLEX ZTEMP
       INTEGER I,IX,IY
@@ -27,28 +29,28 @@
       ZTEMP = (0.0d0,0.0d0)
       ZDOTC = (0.0d0,0.0d0)
       IF (N.LE.0) RETURN
-      IF (INCX.EQ.1 .AND. INCY.EQ.1) GO TO 20
+      IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
 *
-*        code for unequal increments or equal increments
-*          not equal to 1
+*        code for both increments equal to 1
 *
-      IX = 1
-      IY = 1
-      IF (INCX.LT.0) IX = (-N+1)*INCX + 1
-      IF (INCY.LT.0) IY = (-N+1)*INCY + 1
-      DO 10 I = 1,N
-          ZTEMP = ZTEMP + DCONJG(ZX(IX))*ZY(IY)
-          IX = IX + INCX
-          IY = IY + INCY
-   10 CONTINUE
-      ZDOTC = ZTEMP
-      RETURN
+         DO I = 1,N
+            ZTEMP = ZTEMP + DCONJG(ZX(I))*ZY(I)
+         END DO
+      ELSE
 *
-*        code for both increments equal to 1
+*        code for unequal increments or equal increments
+*          not equal to 1
 *
-   20 DO 30 I = 1,N
-          ZTEMP = ZTEMP + DCONJG(ZX(I))*ZY(I)
-   30 CONTINUE
+         IX = 1
+         IY = 1
+         IF (INCX.LT.0) IX = (-N+1)*INCX + 1
+         IF (INCY.LT.0) IY = (-N+1)*INCY + 1
+         DO I = 1,N
+            ZTEMP = ZTEMP + DCONJG(ZX(IX))*ZY(IY)
+            IX = IX + INCX
+            IY = IY + INCY
+         END DO
+      END IF
       ZDOTC = ZTEMP
       RETURN
       END

Reply via email to