------- Comment #2 from fxcoudert at gcc dot gnu dot org  2005-11-29 12:12 
-------
Well, since it relies on uninitialized variables, it's a bit hard to reproduce.
The following code (I believe it is legal) reproducibly fails for me on
i686-linux:

      integer dat(5)
      dat = (/ 0, 0, 0, 0, 18651460 /)
      write(11) dat,dat,dat
      rewind 11
      write(11) dat,dat,dat,dat
      rewind 11
      write(11) dat
      rewind 11
      write(11) dat
      rewind 11
      read(11) dat
      read(11,end=1008) dat
 1008 continue
      backspace 11
      write(11) dat
      backspace 11
      read(11) dat
      read(11,end=1011) dat
 1011 continue
      backspace 11
      backspace 11
      end

I think it has to do with array transfer, and overwriting the record markes
with data. Adding Janne in CC list for opinion.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jb at gcc dot gnu dot org,
                   |                            |fxcoudert at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   GCC host triplet|powerpc-apple-darwin8.3.0   |
   Last reconfirmed|0000-00-00 00:00:00         |2005-11-29 12:12:42
               date|                            |
            Summary|Fortran runtime error:      |"Invalid argument" error on
                   |Invalid argument            |I/O


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

Reply via email to