forked from OSchip/llvm-project
[flang][runtime] Don't emit empty lines for bad writes
When an error occurs in a formatted sequential output statement and no output was ever emitted, don't emit a blank record. This matches the error case behavior of other Fortran compilers. Differential Revision: https://reviews.llvm.org/D123734
This commit is contained in:
parent
7fde4e2213
commit
1fe7a187ae
|
@ -527,6 +527,11 @@ bool ExternalFileUnit::AdvanceRecord(IoErrorHandler &handler) {
|
||||||
} else {
|
} else {
|
||||||
// Unformatted stream: nothing to do
|
// Unformatted stream: nothing to do
|
||||||
}
|
}
|
||||||
|
} else if (handler.GetIoStat() != IostatOk &&
|
||||||
|
furthestPositionInRecord == 0) {
|
||||||
|
// Error in formatted variable length record, and no output yet; do
|
||||||
|
// nothing, like most other Fortran compilers do.
|
||||||
|
return true;
|
||||||
} else {
|
} else {
|
||||||
// Terminate formatted variable length record
|
// Terminate formatted variable length record
|
||||||
const char *lineEnding{"\n"};
|
const char *lineEnding{"\n"};
|
||||||
|
|
Loading…
Reference in New Issue