This is an archive of the discontinued LLVM Phabricator instance.

[flang] Catch name conflict between generic TBP and inherited non-generic
ClosedPublic

Authored by klausler on Mar 1 2023, 12:40 PM.

Details

Summary

A generic procedure binding in an extended derived type may not have the
same name as a symbol inherited from an ancestor type unless that inherited
symbol is also a generic TBP. Since generic names can be things like
"ASSIGNMENT(=)", name resolution doesn't use OkToAddComponent() for
generic TBPs, which would have caught this error as it does for other
symbols in derived types, so it must be special-cased.

Diff Detail

Event Timeline

klausler created this revision.Mar 1 2023, 12:40 PM
Herald added a project: Restricted Project. · View Herald Transcript
klausler requested review of this revision.Mar 1 2023, 12:40 PM
vdonaldson accepted this revision.Mar 1 2023, 1:38 PM
This revision is now accepted and ready to land.Mar 1 2023, 1:38 PM