This is an archive of the discontinued LLVM Phabricator instance.

[flang] Check for another case of ambiguous generic resolution
ClosedPublic

Authored by klausler on Dec 15 2022, 12:14 PM.

Details

Summary

When specific procedures of a generic have dummy procedures,
underspecified actual procedures can match more than one specific
procedure. This can happen with actual procedures that are
externals with implicit interfaces, including the completely
unspecified case of a PROCEDURE() or EXTERNAL that doesn't even
differentiate between a subroutine and a function.

Generic resolution can already handle cases of ambiguous resolution
due to the use of NULL() actual arguments with no MOLD= arguments
to define their types. Extend the handling of ambiguous actual
arguments to include the case of underspecified actual procedures.

Diff Detail

Event Timeline

klausler created this revision.Dec 15 2022, 12:14 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 15 2022, 12:14 PM
Herald added a subscriber: jdoerfert. · View Herald Transcript
klausler requested review of this revision.Dec 15 2022, 12:14 PM
PeteSteinfeld accepted this revision.Dec 15 2022, 1:25 PM

All builds and tests correctly and looks good.

This revision is now accepted and ready to land.Dec 15 2022, 1:25 PM