This is an archive of the discontinued LLVM Phabricator instance.

[flang] Avoid global name conflict when BIND(C,NAME=) is used
ClosedPublic

Authored by klausler on Apr 22 2022, 2:09 PM.

Details

Summary

At the top level of program units in a source file, two subprograms
are allowed to have the same name if at least one of them has a
distinct interoperable binding name. F18's symbol table requires
(most) symbols in a scope to have distinct names, though. Solve
by using compiler-created names for the symbols of global scope
subprograms that have interoperable binding names.

Diff Detail

Event Timeline

klausler created this revision.Apr 22 2022, 2:09 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 22 2022, 2:09 PM
Herald added a subscriber: jdoerfert. · View Herald Transcript
klausler requested review of this revision.Apr 22 2022, 2:09 PM
This revision is now accepted and ready to land.Apr 25 2022, 1:17 AM