[flang][runtime] Allow record advancement in child I/O via '/' control edit descriptor
authorPeter Klausler <pklausler@nvidia.com>
Thu, 16 Feb 2023 18:46:50 +0000 (10:46 -0800)
committerPeter Klausler <pklausler@nvidia.com>
Fri, 17 Feb 2023 00:41:15 +0000 (16:41 -0800)
commit65277494f04da7c4fd5903138d057c0faac7ba9a
treee36fd19db7802423b47a2e011b7b360143590d9c
parent52a774fd4c18abaa9bbe23944843dbfde26c4369
[flang][runtime] Allow record advancement in child I/O via '/' control edit descriptor

My earlier misreading of the Fortran standards had convinced me that child I/O
-- meaning the use of user-defined subroutines via generic interfaces to implement
data transfer statements -- was not allowed to advance the current record in the
ultimate unit of the original (non-child parent) data transfer statement.
This turns out to be wrong, so forward AdvanceRecord() from ChildFormattedIoStatement<>
to its parent I/O statement rather than implementing it as a no-op.

Differential Revision: https://reviews.llvm.org/D144205
flang/runtime/io-stmt.cpp