This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]