[flang-commits] [PATCH] D104485: [flang] Runtime implementation for default derived type formatted I/O

Peter Klausler via Phabricator via flang-commits flang-commits at lists.llvm.org
Thu Jun 17 13:16:45 PDT 2021


klausler created this revision.
klausler added a reviewer: jeanPerier.
klausler added a project: Flang.
Herald added subscribers: jdoerfert, mgrang, mgorny.
klausler requested review of this revision.

This is *not* user-defined derived type I/O, but rather Fortran's
built-in capabilities for using derived type data in I/O lists
and NAMELIST groups.

This feature depends on having the derived type description tables
that are created by Semantics available, passed through compilation
as initialized static objects to which pointers can be targeted
in the descriptors of I/O list items and NAMELIST groups.

NAMELIST processing now handles component references on input
(e.g., "&GROUP x%component = 123 /").

The C++ perspectives of the derived type information records
were transformed into proper classes when it was necessary to add
member functions to them.

The code in Semantics that generates derived type information
was changed to emit derived type components in component order,
not alphabetic order.


https://reviews.llvm.org/D104485

Files:
  flang/include/flang/Semantics/runtime-type-info.h
  flang/lib/Semantics/runtime-type-info.cpp
  flang/runtime/CMakeLists.txt
  flang/runtime/copy.cpp
  flang/runtime/derived.cpp
  flang/runtime/descriptor-io.h
  flang/runtime/descriptor.cpp
  flang/runtime/descriptor.h
  flang/runtime/namelist.cpp
  flang/runtime/tools.h
  flang/runtime/type-info.cpp
  flang/runtime/type-info.h
  flang/test/Semantics/typeinfo01.f90

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104485.352831.patch
Type: text/x-patch
Size: 39691 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20210617/48fc05c4/attachment-0001.bin>


More information about the flang-commits mailing list