This is an archive of the discontinued LLVM Phabricator instance.

[flang] Accept POINTER followed by INTERFACE
ClosedPublic

Authored by klausler on May 6 2022, 3:30 PM.

Details

Summary

As is already supported for dummy procedures, we need to also accept
declarations of procedure pointers that consist of a POINTER attribute
statement followed by an INTERFACE block. (The case of an INTERFACE
block followed by a POINTER statement already works.)

While cleaning this case up, adjust the utility predicate IsProcedurePointer()
to recognize it (namely a SubprogramDetails symbol with Attr::POINTER)
and delete IsProcName(). Extend tests, and add better comments to
symbol.h to document the two ways in which procedure pointers are
represented.

Diff Detail

Event Timeline

klausler created this revision.May 6 2022, 3:30 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 6 2022, 3:30 PM
klausler requested review of this revision.May 6 2022, 3:30 PM
jeanPerier accepted this revision.May 9 2022, 1:46 AM

Looks good

This revision is now accepted and ready to land.May 9 2022, 1:46 AM
This revision was automatically updated to reflect the committed changes.