Lines Matching refs:characteristics
23 namespace characteristics = Fortran::evaluate::characteristics;
76 } else if (auto argChars{characteristics::DummyArgument::FromActual( in CheckImplicitInterfaceArg()
96 const characteristics::TypeAndShape &dummyType, in CheckCharacterActual()
97 characteristics::TypeAndShape &actualType, in CheckCharacterActual()
132 const characteristics::TypeAndShape &dummyType, in ConvertIntegerActual()
133 characteristics::TypeAndShape &actualType, in ConvertIntegerActual()
165 static void CheckExplicitDataArg(const characteristics::DummyDataObject &dummy, in CheckExplicitDataArg()
167 characteristics::TypeAndShape &actualType, bool isElemental, in CheckExplicitDataArg()
194 characteristics::TypeAndShape::Attr::AssumedRank)) { in CheckExplicitDataArg()
197 characteristics::TypeAndShape::Attr::AssumedShape) && in CheckExplicitDataArg()
199 characteristics::TypeAndShape::Attr::DeferredShape) && in CheckExplicitDataArg()
224 characteristics::TypeAndShape::Attr::AssumedSize)}; in CheckExplicitDataArg()
226 characteristics::TypeAndShape::Attr::AssumedSize)}; in CheckExplicitDataArg()
228 dummy.attrs.test(characteristics::DummyDataObject::Attr::Asynchronous)}; in CheckExplicitDataArg()
230 dummy.attrs.test(characteristics::DummyDataObject::Attr::Volatile)}; in CheckExplicitDataArg()
232 dummy.attrs.test(characteristics::DummyDataObject::Attr::Value)}; in CheckExplicitDataArg()
323 characteristics::TypeAndShape::Attr::AssumedRank)}; in CheckExplicitDataArg()
325 characteristics::TypeAndShape::Attr::AssumedShape)) { in CheckExplicitDataArg()
410 characteristics::TypeAndShape::Attr::AssumedShape)}; in CheckExplicitDataArg()
412 dummy.attrs.test(characteristics::DummyDataObject::Attr::Pointer)}; in CheckExplicitDataArg()
414 dummy.attrs.test(characteristics::DummyDataObject::Attr::Contiguous)}; in CheckExplicitDataArg()
435 dummy.attrs.test(characteristics::DummyDataObject::Attr::Allocatable)}; in CheckExplicitDataArg()
557 dummy.attrs.test(characteristics::DummyDataObject::Attr::Optional)}; in CheckExplicitDataArg()
567 const characteristics::Procedure &proc, in CheckProcedureArg()
568 const characteristics::DummyProcedure &dummy, const std::string &dummyName, in CheckProcedureArg()
573 const characteristics::Procedure &interface { dummy.procedure.value() }; in CheckProcedureArg()
576 dummy.attrs.test(characteristics::DummyProcedure::Attr::Pointer)}; in CheckProcedureArg()
581 if (auto argChars{characteristics::DummyArgument::FromActual( in CheckProcedureArg()
585 std::get_if<characteristics::DummyProcedure>(&argChars->u)}) { in CheckProcedureArg()
586 characteristics::Procedure &argInterface{argProc->procedure.value()}; in CheckProcedureArg()
588 characteristics::Procedure::Attr::NullPointer); in CheckProcedureArg()
592 characteristics::Procedure::Attr::Elemental); in CheckProcedureArg()
594 characteristics::Procedure::Attr::Elemental)) { in CheckProcedureArg()
602 characteristics::Procedure::Attr::NullPointer); in CheckProcedureArg()
654 characteristics::DummyProcedure::Attr::Optional)) { in CheckProcedureArg()
697 const characteristics::DummyArgument &dummy, in CheckExplicitInterfaceArg()
698 const characteristics::Procedure &proc, evaluate::FoldingContext &context, in CheckExplicitInterfaceArg()
720 [&](const characteristics::DummyDataObject &object) { in CheckExplicitInterfaceArg()
724 if (auto type{characteristics::TypeAndShape::Characterize( in CheckExplicitInterfaceArg()
738 } else if ((object.attrs.test(characteristics::DummyDataObject:: in CheckExplicitInterfaceArg()
740 object.attrs.test(characteristics:: in CheckExplicitInterfaceArg()
744 } else if (object.attrs.test(characteristics::DummyDataObject:: in CheckExplicitInterfaceArg()
764 } else if (object.type.attrs().test(evaluate::characteristics:: in CheckExplicitInterfaceArg()
775 [&](const characteristics::DummyProcedure &dummy) { in CheckExplicitInterfaceArg()
780 [&](const characteristics::AlternateReturn &) { in CheckExplicitInterfaceArg()
787 static void RearrangeArguments(const characteristics::Procedure &proc, in RearrangeArguments()
843 const characteristics::Procedure &proc, evaluate::ActualArguments &actuals, in CheckElementalConformance()
890 const characteristics::Procedure &proc, evaluate::ActualArguments &actuals, in CheckExplicitInterface()
926 parser::Messages CheckExplicitInterface(const characteristics::Procedure &proc, in CheckExplicitInterface()
933 bool CheckInterfaceForGeneric(const characteristics::Procedure &proc, in CheckInterfaceForGeneric()
941 void CheckArguments(const characteristics::Procedure &proc, in CheckArguments()