[all-commits] [llvm/llvm-project] 53f775: [flang][runtime] Support B/O/Z editing of CHARACTER

Peter Klausler via All-commits all-commits at lists.llvm.org
Thu Apr 28 12:44:46 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 53f775bbc0b8fbca941b5f7ad324b18884eddd7e
      https://github.com/llvm/llvm-project/commit/53f775bbc0b8fbca941b5f7ad324b18884eddd7e
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-04-28 (Thu, 28 Apr 2022)

  Changed paths:
    M flang/runtime/edit-input.cpp
    M flang/runtime/edit-output.cpp

  Log Message:
  -----------
  [flang][runtime] Support B/O/Z editing of CHARACTER

This is a common extension, though semantics differ across
compilers.  I've chosen to interpret the CHARACTER data
as if it were an arbitrary-precision integer value and
format or read it as such.  This matches Intel's compilers
and nvfortran.  (GNU Fortran can't handle lengths > 1 and XLF
seems to get the enddianness wrong.)

This patch generalizes the previous implementations of
B/O/Z input and output so that they'll work for arbitrary data
in memory, and then uses them for all B/O/Z input/output,
including (now) CHARACTER.

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




More information about the All-commits mailing list