Lines Matching defs:arguments
296 // default logical kind. This allows expressions in dummy arguments to work when
896 "POINTER or ALLOCATABLE dummy and actual arguments should have the same declared type and kind"_port_en_US);
900 "POINTER or ALLOCATABLE dummy and actual arguments must have the same declared type and kind"_err_en_US);
909 "Dummy and actual arguments must defer the same type parameters when POINTER or ALLOCATABLE"_err_en_US);
914 // 15.5.2.8 -- coarray dummy arguments
989 // Treat MANAGED like DEVICE for nonallocatable nonpointer arguments to
1203 // Allow BOZ literal actual arguments when they can be converted to a known
1351 "Too many actual arguments (%zd) passed to procedure that expects only %zd"_err_en_US,
1464 static void CheckAssociated(evaluate::ActualArguments &arguments,
1469 if (arguments.size() < 2) {
1472 if (const auto &pointerArg{arguments[0]}) {
1479 if (const auto &targetArg{arguments[1]}) {
1610 // No arguments to ASSOCIATED()
1620 static void CheckEvent_Query(evaluate::ActualArguments &arguments,
1622 if (arguments.size() > 0 && arguments[0] &&
1623 ExtractCoarrayRef(*arguments[0]).has_value()) {
1624 foldingContext.messages().Say(arguments[0]->sourceLocation(),
1627 if (arguments.size() > 1 && arguments[1]) {
1628 if (auto dyType{arguments[1]->GetType()}) {
1633 foldingContext.messages().Say(arguments[1]->sourceLocation(),
1639 if (arguments.size() > 2 && arguments[2]) {
1640 if (auto dyType{arguments[2]->GetType()}) {
1642 foldingContext.messages().Say(arguments[2]->sourceLocation(),
1650 static void CheckImage_Index(evaluate::ActualArguments &arguments,
1652 if (arguments[1] && arguments[0]) {
1654 evaluate::GetShape(arguments[1]->UnwrapExpr())}) {
1656 arguments[0]->UnwrapExpr())}) {
1660 messages.Say(arguments[1]->sourceLocation(),
1673 evaluate::ActualArguments &arguments,
1677 for (std::size_t j{2}; j < arguments.size(); ++j) {
1678 if (arguments[j]) {
1679 if (const auto *expr{arguments[j]->UnwrapExpr()};
1687 messages.Say(arguments[j]->sourceLocation(),
1698 static void CheckFree(evaluate::ActualArguments &arguments,
1700 if (arguments.size() != 1) {
1703 auto arg = arguments[0];
1711 static void CheckMove_Alloc(evaluate::ActualArguments &arguments,
1713 if (arguments.size() >= 1) {
1715 messages, arguments[0], "move_alloc", "from");
1717 if (arguments.size() >= 2) {
1719 messages, arguments[1], "move_alloc", "to");
1721 if (arguments.size() >= 3) {
1723 messages, arguments[2], "move_alloc", "stat");
1725 if (arguments.size() >= 4) {
1727 messages, arguments[3], "move_alloc", "errmsg");
1729 if (arguments.size() >= 2 && arguments[0] && arguments[1]) {
1732 whole{UnwrapWholeSymbolOrComponentDataRef(arguments[j])};
1734 messages.Say(*arguments[j]->sourceLocation(),
1738 auto type0{arguments[0]->GetType()};
1739 auto type1{arguments[1]->GetType()};
1741 messages.Say(arguments[1]->sourceLocation(),
1748 static void CheckPresent(evaluate::ActualArguments &arguments,
1750 if (arguments.size() == 1) {
1751 if (const auto &arg{arguments[0]}; arg) {
1774 evaluate::ActualArguments &arguments, evaluate::FoldingContext &context) {
1777 if (const auto &array{arguments[0]}) {
1779 if (!arguments[/*identity=*/4]) {
1783 if (const auto &dim{arguments[2]}; dim && array->Rank() > 1) {
1815 if (const auto &operation{arguments[1]}) {
1832 "OPERATION= argument of REDUCE() must be a pure function of two data arguments"_err_en_US);
1851 "OPERATION= argument of REDUCE() may not have dummy procedure arguments"_err_en_US);
1883 if (const auto &mask{arguments[3]}; mask && !arguments[/*identity*/ 4]) {
1933 static void CheckTransfer(evaluate::ActualArguments &arguments,
1937 if (arguments.size() >= 2) {
1939 arguments[0], foldingContext)}) {
1942 arguments[1], foldingContext)}) {
1962 if (arguments.size() > 2) { // SIZE=
1964 whole{UnwrapWholeSymbolOrComponentDataRef(arguments[2])}) {
1981 evaluate::ActualArguments &arguments, SemanticsContext &context,
1984 CheckAssociated(arguments, context, scope);
1986 CheckEvent_Query(arguments, context.foldingContext());
1988 CheckImage_Index(arguments, context.foldingContext().messages());
1990 CheckMaxMin(proc, arguments, context.foldingContext().messages());
1992 CheckMove_Alloc(arguments, context.foldingContext().messages());
1994 CheckPresent(arguments, context.foldingContext().messages());
1996 CheckReduce(arguments, context.foldingContext());
1998 CheckTransfer(arguments, context, scope);
2000 CheckFree(arguments, context.foldingContext().messages());