https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59513

--- Comment #19 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
I have rebuilt a clean Xfoil with the following patch

--- src_orig/xpol.f    2007-09-16 03:56:31.000000000 +0200
+++ src/xpol.f    2014-07-12 19:55:40.000000000 +0200
@@ -606,8 +606,7 @@ C---- add point to save file
         IPOL(NIPOL) = ICH
        ENDIF
 C
-       OPEN(LU,FILE=PFNAME(IP),STATUS='OLD')
-       CALL BOTTOM(LU)
+       OPEN(LU,FILE=PFNAME(IP),STATUS='OLD', POSITION = 'APPEND')
        IA = NAPOL(IP)
        CALL POLWRIT(LU,' ',ERROR, .FALSE.,
      &              NAX, IA,IA, CPOL(1,1,IP), IPOL,NIPOL,
@@ -648,8 +647,8 @@ C
       BETA = SQRT(1.0 - MINF**2)
       BFAC = 0.5*MINF**2 / (1.0 + BETA)
 C
-      OPEN(LU,FILE=PFNAMX(IP),STATUS='OLD',FORM='UNFORMATTED')
-      CALL BOTTOMX(LU)
+      OPEN(LU,FILE=PFNAMX(IP),STATUS='OLD',FORM='UNFORMATTED',
+     &     POSITION='APPEND')
 C
 C---- write integrated forces to unformatted dump file
       IF(LVISC) THEN
@@ -920,26 +919,3 @@ C
       RETURN
       END ! POLAXI

-
-
-      SUBROUTINE BOTTOM(LU)
-      CHARACTER*1 DUMMY
-C
- 10   READ(LU,1000,END=90,ERR=90) DUMMY
- 1000 FORMAT(A)
-      GO TO 10
-C
- 90   RETURN
-      END
-
-
-      SUBROUTINE BOTTOMX(LU)
-      CHARACTER*1 DUMMY
-C
- 10   READ(LU,END=90,ERR=90) DUMMY
-      GO TO 10
-C
- 90   RETURN
-      END
-
-

and the script works fine. 

Note that the following patch is also needed

diff -Naur Xfoil_orig/src/pplot.f Xfoil/src/pplot.f
--- Xfoil_orig/src/pplot.f    2008-04-07 17:05:29.000000000 -0400
+++ Xfoil/srcpplot.f    2008-04-09 18:50:59.000000000 -0400
@@ -36,7 +36,7 @@
       PROGRAM PPLOT
       INCLUDE 'PPLOT.INC'
 C
-      LOGICAL ERROR, LGETFN
+      LOGICAL ERROR, LGETFN, LERR
       REAL RINP(10)
       REAL CPOLO(NAX,IPTOT,NPX), VPOLO(NAX,2,NPX)
 C

otherwise gfortran complains about INTEGER instead of LOGICAL for 'IF(LERR)'.

Reply via email to