This is an archive of the discontinued LLVM Phabricator instance.

[flang] Add more qualification when creating names for compiler-generated USEs
ClosedPublic

Authored by klausler on Jun 14 2022, 1:58 PM.

Details

Summary

When generic resolution finds its specific procedure in a module,
and that specific procedure is not use-associated into the local scope
(perhaps because it was PRIVATE, perhaps because the generic was
use-associated with ONLY:), we create a new use-association with
a renaming. The name constructed for this renaming needs to be
additionally qualified with the module name of the specific procedure
in order to avoid clashing with another specific of the same name
that may have previously been use-associated in the same way from
a distinct module.

Diff Detail

Event Timeline

klausler created this revision.Jun 14 2022, 1:58 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 14 2022, 1:58 PM
Herald added a subscriber: jdoerfert. · View Herald Transcript
klausler requested review of this revision.Jun 14 2022, 1:58 PM

Change LGTM. It fixes the issue reported in https://github.com/llvm/llvm-project/issues/55841 and also the related issue seen in cam4 & pop2 spec benchmarks. Thanks.

This revision is now accepted and ready to land.Jun 14 2022, 2:46 PM