[Bug fortran/25829] [F03] Asynchronous IO support

koenigni at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 9 22:43:00 GMT 2018


Nicolas Koenig <koenigni at gcc dot gnu.org> changed:

           What    |Removed                     |Added
  Attachment #44034|0                           |1
        is obsolete|                            |

--- Comment #40 from Nicolas Koenig <koenigni at gcc dot gnu.org> ---
Created attachment 44106
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44106&action=edit
Next version of patch

This patch works for reading and writing, for simple data types and
for arrays.

Still missing are mixed synchronous/asynchronous statements, inquire,
flush, backspace, rewind etc  and error handling.

The reason why error handling is not implemented yet is that I do not
understand the standard, and I have not been able to find any
explanation for this:

9.7.1, paragraph 5:

If an error or end-of-file condition occurs during a wait operation for a unit,
the processor performs a wait
19 operation for all pending data transfer operations for that unit.

What does that mean? Does it mean that all pending transfers should be
thrown away, or that they should still be performed? I think the second
option is probably the right one, but it seems to make little sense since
trying to flush after and error results in loads and loads of corrupt

More information about the Gcc-bugs mailing list