------- Comment #14 from martin at mpa-garching dot mpg dot de  2006-03-09 
15:11 -------
(In reply to comment #13)

> If it is DIRECT I/O you are doing, this is a different story and record sizes
> are fixed length.

Yes, that's what I'm talking about. Consider: 

      PROGRAM TESTRECL
      IMPLICIT NONE

      OPEN(UNIT = 10, FILE = 'test', FORM = 'UNFORMATTED',
     :     ACCESS = 'DIRECT', RECL = 4, ERR = 101)

      WRITE(UNIT=10,REC=1,ERR=101) 1d0
      PRINT *,"no error detected"
      GOTO 102
 101  PRINT *,"error detected"
 102  CONTINUE
      CLOSE(UNIT=10, STATUS='DELETE')
      END

~/tmp>gfortran test3.f
~/tmp>./a.out
At line 7 of file test3.f
Fortran runtime error: End of record

All I'm saying is that in this situation there seems to be no way to jump
to some label if something goes wrong (because there is no EOR parameter
for WRITE).
But I agree that this is not gfortran's problem, but rather
an inconsistency in the standard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26509

Reply via email to