This is an archive of the discontinued LLVM Phabricator instance.

[flang] Check discrepancies between local & available global subprograms
ClosedPublic

Authored by klausler on Nov 30 2022, 2:33 PM.

Details

Summary

When a scope declares the name and perhaps some characteristics of
an external subprogram using any of the many means that Fortran supplies
for doing such a thing, and that external subprogram's definition is
available, check the local declaration against the external definition.
In particular, if the global definition's interface cannot be called
by means of an implicit interface, ensure that references are via an
explicit and compatible interface.

Further, extend call site checking so that when a local declaration
exists for a known global symbol and the arguments are valid for that
local declaration, the arguments are checked against the global's
interface, just are is already done when no local declaration exists.

Diff Detail

Event Timeline

klausler created this revision.Nov 30 2022, 2:33 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, 2:33 PM
klausler updated this revision to Diff 479093.Nov 30 2022, 4:13 PM

clang-format

klausler updated this revision to Diff 479326.Dec 1 2022, 9:04 AM

clang-format two entire files

PeteSteinfeld accepted this revision.Dec 1 2022, 9:54 AM

All builds and tests correctly and looks good.

This revision is now accepted and ready to land.Dec 1 2022, 9:54 AM
This revision was landed with ongoing or failed builds.Dec 2 2022, 11:11 AM
This revision was automatically updated to reflect the committed changes.