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 @@ -1380,7 +1380,7 @@ } else if (const auto *object{symbol.detailsIf()}; object && object->init()) { return true; - } else if (IsProcedurePointer(symbol) && + } else if (IsProcedurePointer(symbol) && symbol.has() && symbol.get().init()) { return true; } else if (scope.hasSAVE()) {