This is an archive of the discontinued LLVM Phabricator instance.

[flang] Fix generic/specific procedure confusion
ClosedPublic

Authored by klausler on Jun 25 2021, 10:36 AM.

Details

Summary

A recent change that extended semantic analysis for actual arguments
that associate with procedure dummy arguments exposed some bugs in
regression test suites due to points of confusion in symbol table
handling in situations where a generic interface contains a specific
procedure of the same name. When passing that name as an actual
argument, for example, it's necessary to take this possibility into
account because the symbol for the generic interface shadows the
symbol of the same name for the specific procedure, which is
what needs to be checked. So add a small utility that bypasses
the symbol for a generic interface in this case, and use it
where needed.

Diff Detail

Event Timeline

klausler created this revision.Jun 25 2021, 10:36 AM
klausler requested review of this revision.Jun 25 2021, 10:36 AM
PeteSteinfeld accepted this revision.Jun 25 2021, 11:11 AM

All builds, tests, and looks good.

It would be good to have a test that illustrates the situation that these changes fix.

This revision is now accepted and ready to land.Jun 25 2021, 11:11 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptJun 25 2021, 11:54 AM