[all-commits] [llvm/llvm-project] 991696: [flang] Debugging of ACCESS='STREAM' I/O (take 2)

Peter Klausler via All-commits all-commits at lists.llvm.org
Fri Feb 4 18:02:52 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 991696c2eba5c2aa7bd6c1cb46dd80055c3edd0c
      https://github.com/llvm/llvm-project/commit/991696c2eba5c2aa7bd6c1cb46dd80055c3edd0c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-02-04 (Fri, 04 Feb 2022)

  Changed paths:
    M flang/include/flang/Runtime/iostat.h
    M flang/runtime/connection.h
    M flang/runtime/edit-input.cpp
    M flang/runtime/file.cpp
    M flang/runtime/file.h
    M flang/runtime/io-api.cpp
    M flang/runtime/io-stmt.cpp
    M flang/runtime/io-stmt.h
    M flang/runtime/iostat.cpp
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h
    M flang/unittests/Runtime/ExternalIOTest.cpp

  Log Message:
  -----------
  [flang] Debugging of ACCESS='STREAM' I/O (take 2)

Corrects the runtime implementation of I/O on files with
the access mode ACCESS='STREAM'.  This is a collection
of edge-case tweaks to ensure that the distinctions between
stream and direct/sequential files, unformatted or formatted,
are respected where appropriate.

Moves NextInField() from io-stmt.h to io-stmt.cpp --
it was getting too big to keep in a header.

This patch exposed a problem with the I/O runtime
on Windows and it was reverted.  This version also
fixes that problem; files are now opened on Windows
in binary mode to prevent inadvertent insertions of
carriage returns before line feeds, and those line
endings (CR+LF) are now explicitly generated.

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




More information about the All-commits mailing list