This is an archive of the discontinued LLVM Phabricator instance.

[flang] Enforce more restrictions on I/O data list items
ClosedPublic

Authored by klausler on Nov 30 2022, 3:23 PM.

Details

Summary

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.

Diff Detail

Event Timeline

klausler created this revision.Nov 30 2022, 3:23 PM
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a subscriber: jdoerfert. · View Herald Transcript
klausler requested review of this revision.Nov 30 2022, 3:23 PM
vdonaldson accepted this revision.Nov 30 2022, 5:06 PM
This revision is now accepted and ready to land.Nov 30 2022, 5:06 PM
This revision was automatically updated to reflect the committed changes.