[flang][runtime] Correct emission & reading of unterminated final records
authorPeter Klausler <pklausler@nvidia.com>
Tue, 26 Apr 2022 23:09:42 +0000 (16:09 -0700)
committerPeter Klausler <pklausler@nvidia.com>
Thu, 28 Apr 2022 16:22:07 +0000 (09:22 -0700)
commit36771bbad1b2588b66f9033074f1f2155065dffb
tree3617d00eb1ebccc9637269c09ebc8c4c852d1058
parent9e3b7e8e656bdcf5aeafbac7b345a7b29272434c
[flang][runtime] Correct emission & reading of unterminated final records

When the last operation on a foramtted sequential or stream file (prior
to an implied or explicit ENDFILE) is a non-advancing WRITE, ensure
that any partial record data is emitted to the file without a line
terminator.  Further, when that last record is read with a non-advancing
READ, ensure that it won't raise an end-of-record condition after its
data, but instead will signal an end-of-file.

Differential Revision: https://reviews.llvm.org/D124546
flang/runtime/connection.h
flang/runtime/io-stmt.cpp
flang/runtime/unit.cpp