From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3681 invoked by alias); 12 Jul 2014 18:02:30 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 3619 invoked by uid 48); 12 Jul 2014 18:02:26 -0000 From: "dominiq at lps dot ens.fr" To: gcc-bugs@gcc.gnu.org Subject: [Bug libfortran/59513] [4.8/4.9/4.10 Regression] Fortran runtime error: Sequential READ or WRITE not allowed after EOF marker, possibly use REWIND or BACKSPACE Date: Sat, 12 Jul 2014 18:02:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libfortran X-Bugzilla-Version: 4.7.2 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dominiq at lps dot ens.fr X-Bugzilla-Status: NEW X-Bugzilla-Priority: P5 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.4 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-07/txt/msg00767.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59513 --- Comment #19 from Dominique d'Humieres --- 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)'.