[flang] Take into account SubprogramDetails in GetInterfaceSymbol

When the ProcRef is Symbol is a SubprogramDetails, the interface is
the SubprogramDetails. Do not return nullptr.

Differential Revision: https://reviews.llvm.org/D110853
This commit is contained in:
Jean Perier
2021-09-30 23:06:22 +02:00
parent 72e8a4c45d
commit 962e503cc8

View File

@@ -123,6 +123,8 @@ const Symbol *ProcedureDesignator::GetInterfaceSymbol() const {
} else if (const auto *binding{
ultimate.detailsIf<semantics::ProcBindingDetails>()}) {
return &binding->symbol();
} else if (ultimate.has<semantics::SubprogramDetails>()) {
return &ultimate;
}
}
return nullptr;