11#ifndef FORTRAN_SEMANTICS_CHECK_CALL_H_
12#define FORTRAN_SEMANTICS_CHECK_CALL_H_
14#include "flang/Evaluate/call.h"
15#include "flang/Parser/message.h"
17namespace Fortran::evaluate::characteristics {
24namespace Fortran::semantics {
33bool CheckArguments(
const evaluate::characteristics::Procedure &,
35 bool treatingExternalAsImplicit,
bool ignoreImplicitVsExplicit,
36 const evaluate::SpecificIntrinsic *intrinsic);
38bool CheckPPCIntrinsic(
const Symbol &generic,
const Symbol &specific,
39 const evaluate::ActualArguments &actuals,
40 evaluate::FoldingContext &context);
41bool CheckWindowsIntrinsic(
42 const Symbol &intrinsic, evaluate::FoldingContext &context);
43bool CheckArgumentIsConstantExprInRange(
44 const evaluate::ActualArguments &actuals,
int index,
int lowerBound,
45 int upperBound, parser::ContextualMessages &messages);
47parser::Messages CheckExplicitInterface(
48 const evaluate::characteristics::Procedure &, evaluate::ActualArguments &,
50 bool allowActualArgumentConversions,
bool extentErrors,
51 bool ignoreImplicitVsExplicit);
54bool CheckInterfaceForGeneric(
const evaluate::characteristics::Procedure &,
56 bool allowActualArgumentConversions =
false);
Definition semantics.h:67
Definition characteristics.h:367