[flang-commits] [PATCH] D139050: [flang] Enforce more restrictions on I/O data list items

Peter Klausler via Phabricator via flang-commits flang-commits at lists.llvm.org
Wed Nov 30 15:23:33 PST 2022


klausler created this revision.
klausler added a reviewer: vdonaldson.
klausler added a project: Flang.
Herald added a subscriber: jdoerfert.
Herald added a reviewer: sscalpone.
Herald added a project: All.
klausler requested review of this revision.

12.6.3p5 requires an I/O data list item to have a defined I/O procedure
if it is polymorphic.  (We could defer this checking to the runtime,
but no other Fortran compiler does so, and we would also have to be
able to catch the case of an allocatable or pointer direct component
in the absence of a defined I/O subroutine.)

Also includes a patch to name resolution that ensures that a
SELECT TYPE construct entity is polymorphic in the domain of a
CLASS IS guard.

Also ensures that non-defined I/O of types with PRIVATE components
is caught.


https://reviews.llvm.org/D139050

Files:
  flang/include/flang/Semantics/semantics.h
  flang/include/flang/Semantics/tools.h
  flang/lib/Semantics/check-io.cpp
  flang/lib/Semantics/check-io.h
  flang/lib/Semantics/resolve-names.cpp
  flang/lib/Semantics/tools.cpp
  flang/test/Semantics/io12.f90
  flang/test/Semantics/io14.f90
  flang/test/Semantics/io15.f90
  flang/test/Semantics/symbol11.f90

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139050.479082.patch
Type: text/x-patch
Size: 18744 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20221130/97d21745/attachment-0001.bin>


More information about the flang-commits mailing list