This is an archive of the discontinued LLVM Phabricator instance.

[flang][runtime] EOF is recoverable only with END= or IOSTAT=
ClosedPublic

Authored by klausler on Mar 9 2023, 4:40 PM.

Details

Summary

The runtime's I/O error handler was not crashing the program on an
end-of-file condition that arises for a data transfer statement with
at least one of ERR= or IOMSG= and none of END= or IOSTAT= control
items. This turns out to be incorrect (per subclause 12.11);
an EOF is recoverable only for END= and/or IOSTAT=, and an
non-advancing end-of-record is recoverable only for EOR= and/or IOSTAT=.

Diff Detail

Event Timeline

klausler created this revision.Mar 9 2023, 4:40 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 9 2023, 4:40 PM
klausler requested review of this revision.Mar 9 2023, 4:40 PM
vdonaldson accepted this revision.Mar 10 2023, 9:25 AM
This revision is now accepted and ready to land.Mar 10 2023, 9:25 AM