This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/25829] [F03] Asynchronous IO support
- From: "koenigni at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 09 May 2018 22:43:39 +0000
- Subject: [Bug fortran/25829] [F03] Asynchronous IO support
- Auto-submitted: auto-generated
- References: <bug-25829-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25829
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
data.