[all-commits] [llvm/llvm-project] 04eb93: [flang] Fix repeated "DT" editing

Peter Klausler via All-commits all-commits at lists.llvm.org
Fri Jan 21 17:23:08 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 04eb93b1d559b40ffd6e8f3146cfb2ade6bb49d0
      https://github.com/llvm/llvm-project/commit/04eb93b1d559b40ffd6e8f3146cfb2ade6bb49d0
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-01-21 (Fri, 21 Jan 2022)

  Changed paths:
    M flang/runtime/descriptor-io.cpp
    M flang/runtime/format-implementation.h
    M flang/runtime/format.h
    M flang/runtime/io-stmt.h

  Log Message:
  -----------
  [flang] Fix repeated "DT" editing

User-defined derived type editing in formatted I/O wasn't
working with repeat counts; e.g., "2DT(10)".  The solution required
some code to be moved from GetNextDataEdit() to CueUpNextDataEdit() so
that a stack entry for a nonparenthesized repeated data edit
descriptor would work correctly -- all other data edit descriptors
are capable of dealing with repetition in their callees, so the bug
hadn't been exposed before.

Debugging this problem led to some improvements in error messages
for bad format strings, and those changes have been retained; also,
a dead member function was discovered and expunged.

Differential Revision: https://reviews.llvm.org/D117904




More information about the All-commits mailing list