This is an archive of the discontinued LLVM Phabricator instance.

[flang] Fix bugs in .mod file for abstract interface
ClosedPublic

Authored by tskeith on Dec 18 2020, 4:50 PM.

Details

Summary

When an abstract interface is defined, add the ABSTRACT attribute to
subprogram symbols that define the interface body. Make use of that
when writing .mod files to include "abstract" on the interface statement.

Also, fix a problem with the order of symbols in a .mod file. Sometimes
a name is mentioned before the "real" declaration, e.g. in an access
statement. We want the order to be based on the real definitions. In
these cases we replace the symbol name with an identical name with a
different source location. Then by sorting based on the source location
we get symbols in the right order.

Diff Detail

Event Timeline

tskeith created this revision.Dec 18 2020, 4:50 PM
tskeith requested review of this revision.Dec 18 2020, 4:50 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 18 2020, 4:50 PM
PeteSteinfeld accepted this revision.Dec 18 2020, 6:24 PM

All builds, tests, and looks good.

This revision is now accepted and ready to land.Dec 18 2020, 6:24 PM
This revision was automatically updated to reflect the committed changes.