[flang-commits] [flang] [flang] Handle separate module procedures with INTERFACE dummy arguments (PR #67608)

via flang-commits flang-commits at lists.llvm.org
Thu Sep 28 00:37:25 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()) {
----------------
jeanPerier wrote:

The else case of this is a no-op, there is never a case where one would want a non interface SubprogramDetails to be copied into a new scope?

https://github.com/llvm/llvm-project/pull/67608


More information about the flang-commits mailing list