[all-commits] [llvm/llvm-project] bad520: [flang][runtime] Support internal I/O to CHARACTER...

Peter Klausler via All-commits all-commits at lists.llvm.org
Tue Aug 9 08:51:44 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bad52055954e05a6b4cc86e9e950cac0b42f44a9
      https://github.com/llvm/llvm-project/commit/bad52055954e05a6b4cc86e9e950cac0b42f44a9
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-08-09 (Tue, 09 Aug 2022)

  Changed paths:
    M flang/lib/Semantics/check-io.cpp
    M flang/runtime/connection.h
    M flang/runtime/edit-input.cpp
    M flang/runtime/edit-output.cpp
    A flang/runtime/emit-encoded.h
    M flang/runtime/format-implementation.h
    M flang/runtime/format.h
    M flang/runtime/internal-unit.cpp
    M flang/runtime/internal-unit.h
    M flang/runtime/io-stmt.cpp
    M flang/runtime/io-stmt.h
    M flang/runtime/namelist.cpp
    M flang/test/Semantics/io03.f90
    M flang/unittests/Runtime/Format.cpp

  Log Message:
  -----------
  [flang][runtime] Support internal I/O to CHARACTER(KIND/=1)

Allow internal I/O to support non-default kinds of CHARACTER.

The I/O runtime design anticipated this standard feature, but
this patch is somewhat larger than I thought it would be because
many code sites had to have assumptions about units (characters
vs. bytes) brought into harmony, and some encoding utilities
had to be pulled out of IoStatementState and templatized into
their own new header file so that they are available to formatted
output code without having to "thread" an IoStatementState reference
through many call chains.

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




More information about the All-commits mailing list