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 {
30void CheckImplicitInterfaceArgKeywords(
31 const evaluate::ActualArgument &, parser::ContextualMessages &);
35void CheckImplicitInterfaceArg(evaluate::ActualArgument &,
43bool CheckArguments(
const evaluate::characteristics::Procedure &,
45 bool treatingExternalAsImplicit,
bool ignoreImplicitVsExplicit,
46 const evaluate::SpecificIntrinsic *intrinsic);
48bool CheckPPCIntrinsic(
const Symbol &generic,
const Symbol &specific,
49 const evaluate::ActualArguments &actuals,
50 evaluate::FoldingContext &context);
51bool CheckWindowsIntrinsic(
52 const Symbol &intrinsic, evaluate::FoldingContext &context);
53bool CheckArgumentIsConstantExprInRange(
54 const evaluate::ActualArguments &actuals,
int index,
int lowerBound,
55 int upperBound, parser::ContextualMessages &messages);
57parser::Messages CheckExplicitInterface(
58 const evaluate::characteristics::Procedure &, evaluate::ActualArguments &,
60 bool allowActualArgumentConversions,
bool extentErrors,
61 bool ignoreImplicitVsExplicit);
64bool CheckInterfaceForGeneric(
const evaluate::characteristics::Procedure &,
66 bool allowActualArgumentConversions =
false);
Definition semantics.h:68
Definition characteristics.h:367