Lines Matching defs:procedure
39 /// Return the type of a dummy procedure given its characteristic (if it has
44 // TODO: Get actual function type of the dummy procedure, at least when an
49 // how many arguments the dummy procedure accepts (e.g. if a procedure
50 // pointer is only transiting through the current procedure without being
71 "expected intrinsic procedure in designator");
162 // defined in the translation unit before lowering any calls or procedure
174 // Get dummy argument characteristic for a procedure with implicit interface
235 // pointers to procedure dummies, passing regular procedure dummies to
236 // character procedure dummies, omitted arguments....).
553 // definitions of the same procedure.
588 // The link between an internal procedure and its host procedure is lost
828 const Fortran::evaluate::characteristics::Procedure &procedure) {
831 &result = procedure.functionResult)
832 handleImplicitResult(*result, procedure.IsBindC());
839 for (auto pair : llvm::zip(procedure.dummyArguments, argumentEntities)) {
857 const Fortran::evaluate::characteristics::Procedure &procedure) {
858 bool isBindC = procedure.IsBindC();
861 &result = procedure.functionResult) {
873 for (auto pair : llvm::zip(procedure.dummyArguments, argumentEntities)) {
912 const Fortran::evaluate::characteristics::Procedure &procedure) {
914 &result = procedure.functionResult)
921 const Fortran::evaluate::characteristics::Procedure &procedure) {
922 // When passing a character function designator `bar` as dummy procedure to
940 getResultDynamicType(procedure))
1115 TODO(loc, "VOLATILE in procedure interface");
1136 TODO(loc, "coarray: dummy argument coarray in procedure interface");
1224 "procedure pointer arguments");
1225 const Fortran::evaluate::characteristics::Procedure &procedure =
1226 proc.procedure.value();
1228 getProcedureDesignatorType(&procedure, interface.converter);
1237 // Otherwise, it is a dummy procedure.
1239 getResultDynamicType(procedure);
1240 if (resultTy && mustPassLengthWithDummyProcedure(procedure)) {
1242 // be passed so that the dummy procedure can be called if it has assumed
1510 const Fortran::evaluate::characteristics::Procedure &procedure) {
1513 impl.buildImplicitInterface(procedure);
1515 impl.buildExplicitInterface(procedure);
1563 // Only gather and set NON_RECURSIVE for procedure definition. It is
1565 // (Fortran 2023 15.3.1) so there is no way to always know if the procedure
1592 /// associate with the arguments (i.e, this is not a call site or a procedure
1621 /// Does the procedure characteristics being translated have alternate
1724 // program unit, so use the location of the procedure designator symbol, which
1725 // is the first occurrence of the procedure in the program unit.
1729 // Is it required to pass a dummy procedure with \p characteristics as a tuple
1740 const Fortran::evaluate::ProcedureDesignator &procedure,
1744 procedure, converter.getFoldingContext(), /*emitError=*/false);
1766 // Return the mlir::FunctionType of a procedure