[flang-commits] [flang] [flang] Handle separate module procedures with INTERFACE dummy arguments (PR #67608)
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Thu Sep 28 08:38:01 PDT 2023
================
@@ -797,16 +798,44 @@ class SymbolMapper : public evaluate::AnyTraverse<SymbolMapper, bool> {
SymbolAndTypeMappings &map_;
};
-void SymbolMapper::MapSymbolExprs(Symbol &symbol) {
- if (auto *object{symbol.detailsIf<ObjectEntityDetails>()}) {
- if (const DeclTypeSpec *type{object->type()}) {
- if (const DeclTypeSpec *newType{MapType(*type)}) {
- object->ReplaceType(*newType);
+Symbol *SymbolMapper::CopySymbol(const Symbol *symbol) {
+ if (symbol) {
+ if (auto *subp{symbol->detailsIf<SubprogramDetails>()}) {
+ if (subp->isInterface()) {
----------------
klausler wrote:
If a SubprogramDetails is not an interface, then it's not a dummy procedure and not a procedure pointer, and it doesn't need to be localized.
https://github.com/llvm/llvm-project/pull/67608
More information about the flang-commits
mailing list