Lines Matching defs:ultimate
530 const Symbol &ultimate{symbol.GetUltimate()};
531 if (ultimate.test(Symbol::Flag::InDataStmt)) {
537 } else if (IsDummy(ultimate)) {
541 } else if (IsFunctionResult(ultimate)) {
545 } else if (const Symbol * common{FindCommonBlockContaining(ultimate)}) {
549 } else if (IsAutomatic(ultimate)) {
553 } else if (!evaluate::IsVariable(ultimate) && !IsProcedurePointer(ultimate)) {
602 "VALUE attribute may not apply to a type with a coarray ultimate component"_err_en_US);
779 "An INTENT(OUT) dummy argument of a pure %s may not have a polymorphic ultimate component"_err_en_US,
1133 const Symbol &ultimate{local.GetUltimate()};
1135 if (ultimate.attrs().test(Attr::INTRINSIC)) {
1137 ultimate.name().ToString())};
1143 ultimate.name(), symbol.name());
1146 } else if (!(ultimate.attrs().test(Attr::EXTERNAL) ||
1147 ultimate.owner().kind() == Scope::Kind::Module ||
1148 ultimate.owner().IsTopLevel()) ||
1149 IsDummy(ultimate) || IsPointer(ultimate)) {
1152 symbol.name(), ultimate.name());
1154 } else if (IsElementalProcedure(ultimate)) {
1157 symbol.name(), ultimate.name());
1657 "Type '%s' has a coarray ultimate component so the type at the base "
1659 "coarray ultimate component"_err_en_US,
2282 const Symbol &ultimate{symbol.GetUltimate()};
2283 if (evaluate::IsCoarray(ultimate)) {
2290 "VOLATILE attribute may not apply to a type with a coarray ultimate component accessed by USE or host association"_err_en_US);
2712 ? "Derived type object '%s' with pointer ultimate component is not allowed in an equivalence set"_err_en_US
2713 : "Derived type object '%s' with allocatable ultimate component is not allowed in an equivalence set"_err_en_US;
2799 const Symbol &ultimate{symbol.GetUltimate()};
2800 if (ultimate.has<DerivedTypeDetails>()) {
2801 if (const Scope *typeScope{ultimate.scope()}) {
3425 const Symbol &ultimate{ref->GetUltimate()};
3426 bool specificFunc{ultimate.test(Symbol::Flag::Function)};
3427 bool specificSubr{ultimate.test(Symbol::Flag::Subroutine)};
3429 if (const auto *proc{ultimate.detailsIf<SubprogramDetails>()}) {
3536 const Symbol &ultimate{ref->GetUltimate()};
3537 const auto *binding{ultimate.detailsIf<ProcBindingDetails>()};
3538 const Symbol &specific{*(binding ? &binding->symbol() : &ultimate)};
3539 if (ultimate.attrs().test(Attr::NOPASS)) { // C774
3542 ultimate.name());
3543 context_.SetError(ultimate);
3902 const auto &[ultimate, procInfo]{*iter1};
3912 *ultimate, *iter2->first, distinct.has_value());