[flang] Insert leading blanks in LOGICAL formatted output fields

Summary: For Lw output editing, emit (w-1) blanks before the T or the F.

Reviewed By: sscalpone, PeteSteinfeld

Differential Revision: https://reviews.llvm.org/D84059
This commit is contained in:
peter klausler 2020-07-17 11:14:28 -07:00
parent 0b2a922246
commit e79a86e45b
1 changed files with 2 additions and 1 deletions

View File

@ -424,7 +424,8 @@ bool EditLogicalOutput(IoStatementState &io, const DataEdit &edit, bool truth) {
switch (edit.descriptor) {
case 'L':
case 'G':
return io.Emit(truth ? "T" : "F", 1);
return io.EmitRepeated(' ', std::max(0, edit.width.value_or(1) - 1)) &&
io.Emit(truth ? "T" : "F", 1);
default:
io.GetIoErrorHandler().SignalError(IostatErrorInFormat,
"Data edit descriptor '%c' may not be used with a LOGICAL data item",