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.