Lines Matching defs:proc

29 getProcedureType(const Fortran::evaluate::characteristics::Procedure &proc,
66 getProcMangledName(const Fortran::evaluate::ProcedureDesignator &proc,
68 if (const Fortran::semantics::Symbol *symbol = proc.GetSymbol())
70 assert(proc.GetSpecificIntrinsic() &&
72 return proc.GetName();
76 return getProcMangledName(procRef.proc(), converter);
81 return procRef.proc().GetSymbol();
85 if (const Fortran::semantics::Symbol *symbol = procRef.proc().GetSymbol())
94 if (const Fortran::semantics::Symbol *sym = procRef.proc().GetSymbol())
100 procRef.proc().GetComponent()) {
148 if (const Fortran::semantics::Symbol *symbol = procRef.proc().GetSymbol())
151 return &procRef.proc();
156 getProcedureDesignatorLoc(const Fortran::evaluate::ProcedureDesignator &proc,
164 if (const Fortran::semantics::Symbol *symbol = proc.GetSymbol())
171 return getProcedureDesignatorLoc(procRef.proc(), converter);
197 [&](Fortran::evaluate::characteristics::DummyProcedure &proc) {
199 std::move(dummy.name), std::move(proc));
209 const Fortran::evaluate::ProcedureDesignator &proc) {
210 if (const auto *symbol{proc.GetSymbol()})
222 procRef.proc(), foldingContext, /*emitError=*/false);
229 isExternalDefinedInSameCompilationUnit(procRef.proc()) &&
501 procRef.proc().GetInterfaceSymbol())
757 getEntityContainer(const Fortran::evaluate::ProcedureRef &proc) {
758 return proc.arguments();
798 getEntityContainer(const Fortran::evaluate::characteristics::Procedure &proc) {
799 FakeEntities enities(proc.dummyArguments.size());
804 getResultEntity(const Fortran::evaluate::characteristics::Procedure &proc) {
949 if (auto proc{result.IsProcedurePointer()}) {
951 &mlirContext, getProcedureType(*proc, interface.converter));
958 assert(typeAndShape && "expect type for non proc pointer result");
1218 const Fortran::evaluate::characteristics::DummyProcedure &proc,
1221 proc.attrs.test(
1226 proc.procedure.value();
1229 if (proc.attrs.test(Fortran::evaluate::characteristics::DummyProcedure::
1262 if (auto proc{result.IsProcedurePointer()}) {
1264 &mlirContext, getProcedureType(*proc, interface.converter));
1271 assert(typeAndShape && "expect type for non proc pointer result");
1611 : CallInterface{c}, proc{p} {
1612 bool isImplicit = forceImplicit || proc.CanBeCalledViaImplicitInterface();
1613 determineInterface(isImplicit, proc);
1618 proc{Fortran::evaluate::characteristics::Procedure::Characterize(
1625 proc.dummyArguments)
1655 return proc;
1664 return proc;
1680 bool isImplicit = forceImplicit || proc.CanBeCalledViaImplicitInterface();
1681 determineInterface(isImplicit, proc);
1703 Fortran::evaluate::characteristics::Procedure proc;
1708 const Fortran::evaluate::ProcedureDesignator &proc,
1710 return SignatureBuilder{proc, converter}.getFunctionType();
1714 const Fortran::evaluate::ProcedureDesignator &proc,
1717 std::string name = getProcMangledName(proc, converter);
1726 return SignatureBuilder{proc, converter}.getOrCreateFuncOp();
1768 getProcedureType(const Fortran::evaluate::characteristics::Procedure &proc,
1770 return SignatureBuilder{proc, converter, false}.genFunctionType();