diff --git a/flang/lib/Evaluate/tools.cpp b/flang/lib/Evaluate/tools.cpp --- a/flang/lib/Evaluate/tools.cpp +++ b/flang/lib/Evaluate/tools.cpp @@ -1296,8 +1296,7 @@ bool IsProcedurePointer(const Symbol &original) { const Symbol &symbol{GetAssociationRoot(original)}; - return IsPointer(symbol) && - (symbol.has() || symbol.has()); + return IsPointer(symbol) && IsProcedure(symbol); } // 3.11 automatic data object