[flang-commits] [flang] Revert "[Flang] Update the fix of PR 80738 to cover generic interface… (PR #81321)

Pete Steinfeld via flang-commits flang-commits at lists.llvm.org
Fri Feb 9 13:41:27 PST 2024


https://github.com/psteinfeld created https://github.com/llvm/llvm-project/pull/81321

… inside modules (#81087)"

This reverts commit 0802596df3d1ffd15f6b828a0f5c1e5b687a730f.

See comments in PR #81087 for a test case that shows why I'm reverting.

>From 3f4bd441b6eb6772840df0dc2b30027f65101e9c Mon Sep 17 00:00:00 2001
From: Peter Steinfeld <psteinfeld at nvidia.com>
Date: Fri, 9 Feb 2024 13:39:04 -0800
Subject: [PATCH] Revert "[Flang] Update the fix of PR 80738 to cover generic
 interface inside modules (#81087)"

This reverts commit 0802596df3d1ffd15f6b828a0f5c1e5b687a730f.

See comments in PR #81087 for a test case that shows why I'm reverting.
---
 flang/lib/Semantics/resolve-names.cpp | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/flang/lib/Semantics/resolve-names.cpp b/flang/lib/Semantics/resolve-names.cpp
index 2a42c79161468a..36deab969456d0 100644
--- a/flang/lib/Semantics/resolve-names.cpp
+++ b/flang/lib/Semantics/resolve-names.cpp
@@ -5648,10 +5648,9 @@ void DeclarationVisitor::Post(const parser::ProcDecl &x) {
   const auto &name{std::get<parser::Name>(x.t)};
   const Symbol *procInterface{nullptr};
   if (interfaceName_) {
-    Symbol *ultimate{&interfaceName_->symbol->GetUltimate()};
-    procInterface = ultimate->has<GenericDetails>()
-        ? ultimate->get<GenericDetails>().specific()
-        : ultimate;
+    procInterface = interfaceName_->symbol->has<GenericDetails>()
+        ? interfaceName_->symbol->get<GenericDetails>().specific()
+        : interfaceName_->symbol;
   }
   auto attrs{HandleSaveName(name.source, GetAttrs())};
   DerivedTypeDetails *dtDetails{nullptr};



More information about the flang-commits mailing list