diff --git a/flang/lib/semantics/rewrite-parse-tree.cc b/flang/lib/semantics/rewrite-parse-tree.cc index 07629616c837..be29f5a8b1d6 100644 --- a/flang/lib/semantics/rewrite-parse-tree.cc +++ b/flang/lib/semantics/rewrite-parse-tree.cc @@ -83,7 +83,8 @@ private: } parser::Name *name{std::get_if( &std::get((*funcRef)->v.t).u)}; - if (!name || !name->symbol || !name->symbol->has()) { + if (!name || !name->symbol || + !name->symbol->GetUltimate().has()) { return; } x.u = common::Indirection{(*funcRef)->ConvertToArrayElementRef()};