[flang] Progress on Fortran I/O runtime
authorpeter klausler <pklausler@nvidia.com>
Wed, 5 Feb 2020 00:55:45 +0000 (16:55 -0800)
committerpeter klausler <pklausler@nvidia.com>
Thu, 13 Feb 2020 18:31:26 +0000 (10:31 -0800)
commit95696d563b927cb51f4a55976e7f64992e1c0acf
tree959b42e045042b29aeb94066d393c7ef739badc1
parentdbea781d199babb68a71d08a0694522184b93e2d
[flang] Progress on Fortran I/O runtime

Use internal units for internal I/O state

Replace use of virtual functions

reference_wrapper

Internal formatted output to array descriptor

Delete dead code

Begin list-directed internal output

Refactorings and renamings for clarity

List-directed external I/O (character)

COMPLEX list-directed output

Control list items

First cut at unformatted I/O

More OPEN statement work; rename class to ExternalFileUnit

Complete OPEN (exc. for POSITION=), add CLOSE()

OPEN(POSITION=)

Flush buffers on crash and for terminal output; clean up

Documentation

Fix backquote in documentation

Fix typo in comment

Begin implementation of input

Refactor binary floating-point properties to a new header, simplify numeric output editing

Dodge spurious GCC 7.2 build warning

Address review comments

Original-commit: flang-compiler/f18@9c4bba11cf2329575ea9ee446f69e9caa797135c
Reviewed-on: https://github.com/flang-compiler/f18/pull/982
54 files changed:
flang/documentation/FortranForCProgrammers.md
flang/documentation/IORuntimeInternals.md [new file with mode: 0644]
flang/include/flang/common/real.h [new file with mode: 0644]
flang/include/flang/decimal/binary-floating-point.h
flang/include/flang/decimal/decimal.h
flang/include/flang/evaluate/common.h
flang/include/flang/evaluate/complex.h
flang/include/flang/evaluate/integer.h
flang/include/flang/evaluate/real.h
flang/include/flang/evaluate/type.h
flang/lib/decimal/big-radix-floating-point.h
flang/lib/decimal/binary-to-decimal.cpp
flang/lib/decimal/decimal-to-binary.cpp
flang/lib/evaluate/characteristics.cpp
flang/lib/evaluate/complex.cpp
flang/lib/evaluate/real.cpp
flang/module/iso_fortran_env.f90
flang/runtime/CMakeLists.txt
flang/runtime/buffer.h
flang/runtime/connection.cpp [new file with mode: 0644]
flang/runtime/connection.h [new file with mode: 0644]
flang/runtime/descriptor.cpp
flang/runtime/descriptor.h
flang/runtime/environment.cpp
flang/runtime/environment.h
flang/runtime/file.cpp
flang/runtime/file.h
flang/runtime/format-implementation.h [new file with mode: 0644]
flang/runtime/format.cpp
flang/runtime/format.h
flang/runtime/internal-unit.cpp [new file with mode: 0644]
flang/runtime/internal-unit.h [new file with mode: 0644]
flang/runtime/io-api.cpp
flang/runtime/io-api.h
flang/runtime/io-error.h
flang/runtime/io-stmt.cpp
flang/runtime/io-stmt.h
flang/runtime/lock.h
flang/runtime/main.cpp
flang/runtime/memory.cpp
flang/runtime/memory.h
flang/runtime/numeric-output.cpp [new file with mode: 0644]
flang/runtime/numeric-output.h
flang/runtime/stop.cpp
flang/runtime/terminator.cpp
flang/runtime/terminator.h
flang/runtime/tools.cpp
flang/runtime/tools.h
flang/runtime/unit.cpp
flang/runtime/unit.h
flang/test/evaluate/real.cpp
flang/test/runtime/external-hello.cpp
flang/test/runtime/format.cpp
flang/test/runtime/hello.cpp