[flang-commits] [PATCH] D128389: [flang][runtime] Respect PAD='NO' on READ/WRITE
Peter Klausler via Phabricator via flang-commits
flang-commits at lists.llvm.org
Wed Jun 22 15:35:56 PDT 2022
klausler created this revision.
klausler added a reviewer: vdonaldson.
klausler added a project: Flang.
Herald added a subscriber: jdoerfert.
Herald added a project: All.
klausler requested review of this revision.
The check for the PAD= setting should examine the mutable modes
of the current I/O statement, not the persistent modes of the
I/O unit.
https://reviews.llvm.org/D128389
Files:
flang/runtime/io-stmt.cpp
Index: flang/runtime/io-stmt.cpp
===================================================================
--- flang/runtime/io-stmt.cpp
+++ flang/runtime/io-stmt.cpp
@@ -677,7 +677,8 @@
if (auto length{connection.EffectiveRecordLength()}) {
if (connection.positionInRecord >= *length) {
IoErrorHandler &handler{GetIoErrorHandler()};
- if (mutableModes().nonAdvancing) {
+ const auto &modes{mutableModes()};
+ if (modes.nonAdvancing) {
if (connection.access == Access::Stream &&
connection.unterminatedRecord) {
// Reading final unterminated record left by a
@@ -687,10 +688,10 @@
} else {
handler.SignalEor();
}
- } else if (!connection.modes.pad) {
+ } else if (!modes.pad) {
handler.SignalError(IostatRecordReadOverrun);
}
- return connection.modes.pad; // PAD='YES'
+ return modes.pad; // PAD='YES'
}
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D128389.439186.patch
Type: text/x-patch
Size: 982 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20220622/ad5da2e6/attachment.bin>
More information about the flang-commits
mailing list