This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: CREAD buggy?
- From: howarth at bromo dot msbb dot uc dot edu (Jack Howarth)
- To: howarth at bromo dot msbb dot uc dot edu, pinskia at physics dot uc dot edu
- Cc: fortran at gcc dot gnu dot org, sgk at troutmask dot apl dot washington dot edu
- Date: Sat, 30 Jul 2005 20:01:01 -0400 (EDT)
- Subject: Re: CREAD buggy?
Okay. After looking at this code some more today, I see that the
actual offending line where the segfault occurs is...
READ(COMLYN,'(12X,A4,1X,A4,1X,A5,3X,3F8.3,F6.2,F6.2,6X,A4)',
& ERR=8888) IUP,REN,A,XIN,YIN,ZIN,QIN,WIN,SID
this is with...
DOUBLE PRECISION XIN, YIN, ZIN, WIN, QIN
CHARACTER*4 SID, RID, RID2, REN, IUP
CHARACTER*5 A
The output I saw was the echoing of the line that is being parsed using
this READ call. This line was...
ATOM 1 C4 DNP 250 -4.070 58.954 181.339 1.00 0.00
The fact that the echoed text is identical to the input suggests to
me that we have so i/o formatting bug and not a problem with aliasing.
The READ statement always fails and then jumps to the 8888 label on
the error code below where it segfaults trying to print that statement.
C-ERROR-LABEL
GOTO 7777
8888 ERROR=.TRUE.
WRITE(6,'(A)') ' %COOR-ERR: ERROR during reading coordinates'
7777 CONTINUE
I must admit I am having a hard time figuring out exactly how the
format line for this read is supposed to be parsing the input above.
However I suspect this has the essentials of setting up a test case.
COMLYN is declared as
PARAMETER (COMMAX=132)
CHARACTER*(COMMAX) COMLYN
on a common block.
Jack