Lines Matching refs:characteristics
44 const Fortran::evaluate::characteristics::Procedure *, in getProcedureDesignatorType()
115 static Fortran::evaluate::characteristics::DummyDataObject
116 asImplicitArg(Fortran::evaluate::characteristics::DummyDataObject &&dummy) { in asImplicitArg()
120 return Fortran::evaluate::characteristics::DummyDataObject( in asImplicitArg()
121 Fortran::evaluate::characteristics::TypeAndShape(dummy.type.type(), in asImplicitArg()
125 static Fortran::evaluate::characteristics::DummyArgument
126 asImplicitArg(Fortran::evaluate::characteristics::DummyArgument &&dummy) { in asImplicitArg()
129 [&](Fortran::evaluate::characteristics::DummyDataObject &obj) { in asImplicitArg()
130 return Fortran::evaluate::characteristics::DummyArgument( in asImplicitArg()
133 [&](Fortran::evaluate::characteristics::DummyProcedure &proc) { in asImplicitArg()
134 return Fortran::evaluate::characteristics::DummyArgument( in asImplicitArg()
137 [](Fortran::evaluate::characteristics::AlternateReturn &x) { in asImplicitArg()
138 return Fortran::evaluate::characteristics::DummyArgument( in asImplicitArg()
144 Fortran::evaluate::characteristics::Procedure
148 std::optional<Fortran::evaluate::characteristics::Procedure> characteristic = in characterize()
149 Fortran::evaluate::characteristics::Procedure::Characterize( in characterize()
159 Fortran::evaluate::characteristics::AlternateReturn{}); in characterize()
166 std::optional<Fortran::evaluate::characteristics::DummyArgument> in characterize()
168 Fortran::evaluate::characteristics::DummyArgument::FromActual( in characterize()
213 const Fortran::evaluate::characteristics::FunctionResult &result = in walkResultLengths()
215 const Fortran::evaluate::characteristics::TypeAndShape *typeAndShape = in walkResultLengths()
269 const std::optional<Fortran::evaluate::characteristics::FunctionResult> in mustMapInterfaceSymbols()
356 Fortran::evaluate::characteristics::Procedure
360 std::optional<Fortran::evaluate::characteristics::Procedure> characteristic = in characterize()
361 Fortran::evaluate::characteristics::Procedure::Characterize( in characterize()
525 getEntityContainer(const Fortran::evaluate::characteristics::Procedure &proc) { in getEntityContainer()
531 getResultEntity(const Fortran::evaluate::characteristics::Procedure &proc) { in getResultEntity()
546 using TypeAndShape = Fortran::evaluate::characteristics::TypeAndShape;
548 Fortran::evaluate::characteristics::DummyArgument;
555 const Fortran::evaluate::characteristics::Procedure &procedure) { in buildImplicitInterface()
557 if (const std::optional<Fortran::evaluate::characteristics::FunctionResult> in buildImplicitInterface()
567 const Fortran::evaluate::characteristics::DummyArgument in buildImplicitInterface()
575 [&](const Fortran::evaluate::characteristics::AlternateReturn &) { in buildImplicitInterface()
584 const Fortran::evaluate::characteristics::Procedure &procedure) { in buildExplicitInterface()
586 if (const std::optional<Fortran::evaluate::characteristics::FunctionResult> in buildExplicitInterface()
601 const Fortran::evaluate::characteristics::DummyArgument in buildExplicitInterface()
605 [&](const Fortran::evaluate::characteristics::DummyDataObject in buildExplicitInterface()
614 [&](const Fortran::evaluate::characteristics::DummyProcedure in buildExplicitInterface()
619 [&](const Fortran::evaluate::characteristics::AlternateReturn &) { in buildExplicitInterface()
639 const Fortran::evaluate::characteristics::Procedure &procedure) { in getResultDynamicType()
640 if (const std::optional<Fortran::evaluate::characteristics::FunctionResult> in getResultDynamicType()
648 const Fortran::evaluate::characteristics::Procedure &procedure) { in mustPassLengthWithDummyProcedure()
674 const Fortran::evaluate::characteristics::FunctionResult &result) { in handleImplicitResult()
678 const Fortran::evaluate::characteristics::TypeAndShape *typeAndShape = in handleImplicitResult()
743 const DummyCharacteristics *characteristics, in handleImplicitDummy() argument
744 const Fortran::evaluate::characteristics::DummyDataObject &obj, in handleImplicitDummy()
752 addPassedArg(PassEntityBy::BoxChar, entity, characteristics); in handleImplicitDummy()
762 addPassedArg(PassEntityBy::BaseAddress, entity, characteristics); in handleImplicitDummy()
768 const Fortran::evaluate::characteristics::DummyDataObject &obj) { in dummyRequiresBox()
769 using ShapeAttr = Fortran::evaluate::characteristics::TypeAndShape::Attr; in dummyRequiresBox()
770 using ShapeAttrs = Fortran::evaluate::characteristics::TypeAndShape::Attrs; in dummyRequiresBox()
808 const DummyCharacteristics *characteristics, in handleExplicitDummy() argument
809 const Fortran::evaluate::characteristics::DummyDataObject &obj, in handleExplicitDummy()
811 using Attrs = Fortran::evaluate::characteristics::DummyDataObject::Attr; in handleExplicitDummy()
836 using ShapeAttr = Fortran::evaluate::characteristics::TypeAndShape::Attr; in handleExplicitDummy()
837 const Fortran::evaluate::characteristics::TypeAndShape::Attrs &shapeAttrs = in handleExplicitDummy()
863 addPassedArg(PassEntityBy::MutableBox, entity, characteristics); in handleExplicitDummy()
869 addPassedArg(PassEntityBy::Box, entity, characteristics); in handleExplicitDummy()
879 entity, characteristics); in handleExplicitDummy()
895 addPassedArg(passBy, entity, characteristics); in handleExplicitDummy()
900 const DummyCharacteristics *characteristics, in handleImplicitDummy() argument
901 const Fortran::evaluate::characteristics::DummyProcedure &proc, in handleImplicitDummy()
904 Fortran::evaluate::characteristics::DummyProcedure::Attr::Pointer)) in handleImplicitDummy()
908 const Fortran::evaluate::characteristics::Procedure &procedure = in handleImplicitDummy()
925 addPassedArg(PassEntityBy::CharProcTuple, entity, characteristics); in handleImplicitDummy()
929 addPassedArg(PassEntityBy::BaseAddress, entity, characteristics); in handleImplicitDummy()
933 const Fortran::evaluate::characteristics::FunctionResult &result) { in handleExplicitResult()
934 using Attr = Fortran::evaluate::characteristics::FunctionResult::Attr; in handleExplicitResult()
939 const Fortran::evaluate::characteristics::TypeAndShape *typeAndShape = in handleExplicitResult()
1000 const DummyCharacteristics *characteristics) { in addPassedArg() argument
1002 PassedEntity{p, entity, emptyValue(), emptyValue(), characteristics}); in addPassedArg()
1028 if (!characteristics) in isOptional()
1030 return characteristics->IsOptional(); in isOptional()
1035 if (!characteristics) in mayBeModifiedByCall()
1037 return characteristics->GetIntent() != Fortran::common::Intent::In; in mayBeModifiedByCall()
1041 if (!characteristics) in mayBeReadByCall()
1043 return characteristics->GetIntent() != Fortran::common::Intent::Out; in mayBeReadByCall()
1049 const Fortran::evaluate::characteristics::Procedure &procedure) { in determineInterface()
1110 SignatureBuilder(const Fortran::evaluate::characteristics::Procedure &p, in SignatureBuilder()
1119 for (const Fortran::evaluate::characteristics::DummyArgument &dummy : in hasAlternateReturns()
1122 Fortran::evaluate::characteristics::AlternateReturn>(dummy.u)) in hasAlternateReturns()
1142 Fortran::evaluate::characteristics::Procedure characterize() const { in characterize()
1150 const Fortran::evaluate::characteristics::Procedure &
1168 const Fortran::evaluate::characteristics::Procedure &proc;
1174 std::optional<Fortran::evaluate::characteristics::Procedure> characteristics = in translateSignature() local
1175 Fortran::evaluate::characteristics::Procedure::Characterize( in translateSignature()
1181 return SignatureBuilder{characteristics.value(), converter, forceImplicit} in translateSignature()
1199 std::optional<Fortran::evaluate::characteristics::Procedure> characteristics = in getOrDeclareFunction() local
1200 Fortran::evaluate::characteristics::Procedure::Characterize( in getOrDeclareFunction()
1202 mlir::FunctionType ty = SignatureBuilder{characteristics.value(), converter, in getOrDeclareFunction()
1214 const std::optional<Fortran::evaluate::characteristics::Procedure> in mustPassLengthWithDummyProcedure() argument
1215 &characteristics) { in mustPassLengthWithDummyProcedure()
1216 return characteristics && in mustPassLengthWithDummyProcedure()
1218 mustPassLengthWithDummyProcedure(*characteristics); in mustPassLengthWithDummyProcedure()
1224 std::optional<Fortran::evaluate::characteristics::Procedure> characteristics = in mustPassLengthWithDummyProcedure() local
1225 Fortran::evaluate::characteristics::Procedure::Characterize( in mustPassLengthWithDummyProcedure()
1227 return ::mustPassLengthWithDummyProcedure(characteristics); in mustPassLengthWithDummyProcedure()
1233 std::optional<Fortran::evaluate::characteristics::Procedure> iface = in getDummyProcedureType()
1234 Fortran::evaluate::characteristics::Procedure::Characterize( in getDummyProcedureType()