From 93045fa47ad1818a1dbf8df7a485cdc0d976caf3 Mon Sep 17 00:00:00 2001 From: cdchen-ca Date: Mon, 5 Feb 2024 15:07:44 -0500 Subject: [PATCH] [Flang] Use specific symbol rather than generic symbol in procedureInterface to declare procedure pointer. --- flang/lib/Semantics/resolve-names.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/flang/lib/Semantics/resolve-names.cpp b/flang/lib/Semantics/resolve-names.cpp index 6914f95837f67..36deab969456d 100644 --- a/flang/lib/Semantics/resolve-names.cpp +++ b/flang/lib/Semantics/resolve-names.cpp @@ -5648,7 +5648,9 @@ void DeclarationVisitor::Post(const parser::ProcDecl &x) { const auto &name{std::get(x.t)}; const Symbol *procInterface{nullptr}; if (interfaceName_) { - procInterface = interfaceName_->symbol; + procInterface = interfaceName_->symbol->has() + ? interfaceName_->symbol->get().specific() + : interfaceName_->symbol; } auto attrs{HandleSaveName(name.source, GetAttrs())}; DerivedTypeDetails *dtDetails{nullptr};