Lines Matching defs:procedure

524     : procedure{new Procedure{std::move(p)}} {}
528 procedure.value() == that.procedure.value();
535 *whyNot = "incompatible dummy procedure attributes";
541 *whyNot = "incompatible dummy procedure intents";
545 if (!procedure.value().IsCompatibleWith(actual.procedure.value(),
548 *whyNot = "incompatible dummy procedure interfaces: "s + *whyNot;
559 *whyNot = "a dummy procedure is optional or a pointer";
648 // interfaces of procedure pointers are caught and flagged in
662 // Dummy procedures and procedure pointers may not be
748 "'%s' is not a procedure"_err_en_US, symbol.name());
774 if (auto procedure{CharacterizeProcedure(
776 // Dummy procedures may not be elemental. Elemental dummy procedure
780 procedure->attrs.reset(Procedure::Attr::Elemental);
781 DummyProcedure result{std::move(procedure.value())};
799 procedure.value().Dump(o);
827 *whyNot = "one dummy argument is a procedure, the other is not";
1121 return false; // 15.4.2.2(4)(b) - procedure pointer?
1241 "function results are incompatible procedure pointers: "s + *whyNot;
1246 "one function result is a procedure pointer, the other is not";
1258 p.value().Dump(o << " procedure(") << ')';
1302 *whyNot = "incompatible procedure attributes";
1330 // procedure(s1), pointer :: p
1369 // A pure procedure may override an impure one (7.5.7.3(2))
1433 "Expression '%s' is not a procedure"_err_en_US, expr.AsFortran());
1466 *whyNot = "the procedure is elemental";
1471 *whyNot = "the procedure is BIND(C)";
1478 *whyNot = "the procedure is CUDA but neither HOST nor GLOBAL";
1802 const Procedure &xProc{x.procedure.value()};
1803 const Procedure &yProc{y.procedure.value()};
1817 return true; // one is data object, one is procedure
1886 // Return the passed-object dummy argument of this procedure, if any