Lines Matching refs:evaluate
23 namespace characteristics = Fortran::evaluate::characteristics;
27 static void CheckImplicitInterfaceArg(evaluate::ActualArgument &arg, in CheckImplicitInterfaceArg()
28 parser::ContextualMessages &messages, evaluate::FoldingContext &context) { in CheckImplicitInterfaceArg()
53 } else if (evaluate::IsNullPointer(*expr)) { in CheckImplicitInterfaceArg()
56 } else if (auto named{evaluate::ExtractNamedEntity(*expr)}) { in CheckImplicitInterfaceArg()
79 std::get_if<evaluate::ProcedureDesignator>(&expr->u)}; in CheckImplicitInterfaceArg()
84 evaluate::SayWithDeclaration(messages, *argProcSymbol, in CheckImplicitInterfaceArg()
95 static void CheckCharacterActual(evaluate::Expr<evaluate::SomeType> &actual, in CheckCharacterActual()
98 evaluate::FoldingContext &context, parser::ContextualMessages &messages) { in CheckCharacterActual()
108 if (evaluate::IsVariable(actual)) { in CheckCharacterActual()
131 static void ConvertIntegerActual(evaluate::Expr<evaluate::SomeType> &actual, in ConvertIntegerActual()
139 !evaluate::IsVariable(actual)) { in ConvertIntegerActual()
141 evaluate::ConvertToType(dummyType.type(), std::move(actual))}; in ConvertIntegerActual()
166 const std::string &dummyName, evaluate::Expr<evaluate::SomeType> &actual, in CheckExplicitDataArg()
168 evaluate::FoldingContext &context, const Scope *scope, in CheckExplicitDataArg()
169 const evaluate::SpecificIntrinsic *intrinsic, in CheckExplicitDataArg()
183 evaluate::HollerithToBOZ(context, actual, dummy.type.type())}) { in CheckExplicitDataArg()
209 evaluate::CheckConformanceFlags::RightScalarExpandable, in CheckExplicitDataArg()
248 const Symbol *actualFirstSymbol{evaluate::GetFirstSymbol(actual)}; in CheckExplicitDataArg()
253 if (const auto *derived{evaluate::GetDerivedTypeSpec(actualType.type())}) { in CheckExplicitDataArg()
264 evaluate::SayWithDeclaration(messages, *tbp, in CheckExplicitDataArg()
285 evaluate::SayWithDeclaration(messages, *bad, in CheckExplicitDataArg()
290 if (auto coarrayRef{evaluate::ExtractCoarrayRef(actual)}) { // C1537 in CheckExplicitDataArg()
295 evaluate::SayWithDeclaration(messages, coarray, in CheckExplicitDataArg()
305 evaluate::SayWithDeclaration(messages, *bad, in CheckExplicitDataArg()
313 const auto *actualLastSymbol{evaluate::GetLastSymbol(actual)}; in CheckExplicitDataArg()
320 int actualRank{evaluate::GetRank(actualType.shape())}; in CheckExplicitDataArg()
321 bool actualIsPointer{evaluate::IsObjectPointer(actual, context)}; in CheckExplicitDataArg()
333 evaluate::SayWithDeclaration(messages, *actualLastSymbol, in CheckExplicitDataArg()
377 evaluate::AcceptsIntentOutAllocatableCoarray( in CheckExplicitDataArg()
436 bool actualIsAllocatable{evaluate::IsAllocatableDesignator(actual)}; in CheckExplicitDataArg()
508 evaluate::GetDerivedTypeSpec(actualType.type())}) { in CheckExplicitDataArg()
510 *derived, *evaluate::GetDerivedTypeSpec(dummy.type.type()))) { in CheckExplicitDataArg()
558 bool actualIsNull{evaluate::IsNullPointer(actual)}; in CheckExplicitDataArg()
566 static void CheckProcedureArg(evaluate::ActualArgument &arg, in CheckProcedureArg()
569 evaluate::FoldingContext &context) { in CheckProcedureArg()
578 std::get_if<evaluate::ProcedureDesignator>(&expr->u)}; in CheckProcedureArg()
596 evaluate::SayWithDeclaration(messages, *argProcSymbol, in CheckProcedureArg()
686 evaluate::ActualArgument &arg, const evaluate::DynamicType &type) { in ConvertBOZLiteralArg()
689 if (auto converted{evaluate::ConvertToType(type, SomeExpr{*expr})}) { in ConvertBOZLiteralArg()
696 static void CheckExplicitInterfaceArg(evaluate::ActualArgument &arg, in CheckExplicitInterfaceArg()
698 const characteristics::Procedure &proc, evaluate::FoldingContext &context, in CheckExplicitInterfaceArg()
699 const Scope *scope, const evaluate::SpecificIntrinsic *intrinsic, in CheckExplicitInterfaceArg()
708 auto checkActualArgForLabel = [&](evaluate::ActualArgument &arg) { in CheckExplicitInterfaceArg()
736 evaluate::IsNullPointer(*expr)) { in CheckExplicitInterfaceArg()
742 evaluate::IsNullPointer(*expr)) { in CheckExplicitInterfaceArg()
746 evaluate::IsNullPointer(*expr)) { in CheckExplicitInterfaceArg()
764 } else if (object.type.attrs().test(evaluate::characteristics:: in CheckExplicitInterfaceArg()
767 !evaluate::IsAssumedRank(assumed)) { in CheckExplicitInterfaceArg()
788 evaluate::ActualArguments &actuals, parser::ContextualMessages &messages) { in RearrangeArguments()
797 std::map<std::string, evaluate::ActualArgument> kwArgs; in RearrangeArguments()
816 evaluate::ActualArgument &x{iter->second}; in RearrangeArguments()
830 evaluate::ActualArgument &x{bad.second}; in RearrangeArguments()
843 const characteristics::Procedure &proc, evaluate::ActualArguments &actuals, in CheckElementalConformance()
844 evaluate::FoldingContext &context) { in CheckElementalConformance()
845 std::optional<evaluate::Shape> shape; in CheckElementalConformance()
859 if (auto argShape{evaluate::GetShape(context, *expr)}) { in CheckElementalConformance()
865 auto tristate{evaluate::CheckConformance(messages, *shape, in CheckElementalConformance()
866 *argShape, evaluate::CheckConformanceFlags::None, in CheckElementalConformance()
890 const characteristics::Procedure &proc, evaluate::ActualArguments &actuals, in CheckExplicitInterface()
891 const evaluate::FoldingContext &context, const Scope *scope, in CheckExplicitInterface()
892 const evaluate::SpecificIntrinsic *intrinsic, in CheckExplicitInterface()
899 evaluate::FoldingContext localContext{context, messages}; in CheckExplicitInterface()
927 evaluate::ActualArguments &actuals, const evaluate::FoldingContext &context, in CheckExplicitInterface()
928 const Scope &scope, const evaluate::SpecificIntrinsic *intrinsic) { in CheckExplicitInterface()
934 evaluate::ActualArguments &actuals, const evaluate::FoldingContext &context, in CheckInterfaceForGeneric()
942 evaluate::ActualArguments &actuals, evaluate::FoldingContext &context, in CheckArguments()
944 const evaluate::SpecificIntrinsic *intrinsic) { in CheckArguments()