FLANG
Fortran::semantics::Procedure Struct Reference
Inheritance diagram for Fortran::semantics::Procedure:
Fortran::evaluate::SpecificIntrinsicFunctionInterface

Public Member Functions

 ENUM_CLASS (Attr, Pure, Elemental, BindC, ImplicitInterface, NullPointer, NullAllocatable, Subroutine) using Attrs
 Procedure (FunctionResult &&, DummyArguments &&, Attrs)
 Procedure (DummyArguments &&, Attrs)
bool operator== (const Procedure &) const
bool operator!= (const Procedure &that) const
bool IsFunction () const
bool IsSubroutine () const
bool IsPure () const
bool IsElemental () const
bool IsBindC () const
bool HasExplicitInterface () const
std::optional< int > FindPassIndex (std::optional< parser::CharBlock >) const
bool CanBeCalledViaImplicitInterface (std::string *whyNot=nullptr) const
bool CanOverride (const Procedure &, std::optional< int > passIndex) const
bool IsCompatibleWith (const Procedure &, bool ignoreImplicitVsExplicit, std::string *whyNot=nullptr, const SpecificIntrinsic *=nullptr, std::optional< std::string > *warning=nullptr) const
llvm::raw_ostream & Dump (llvm::raw_ostream &) const

Static Public Member Functions

static std::optional< ProcedureCharacterize (const semantics::Symbol &, FoldingContext &)
static std::optional< ProcedureCharacterize (const ProcedureDesignator &, FoldingContext &, bool emitError)
static std::optional< ProcedureCharacterize (const ProcedureRef &, FoldingContext &)
static std::optional< ProcedureCharacterize (const Expr< SomeType > &, FoldingContext &)
static std::optional< ProcedureFromActuals (const ProcedureDesignator &, const ActualArguments &, FoldingContext &)

Public Attributes

std::optional< FunctionResultfunctionResult
DummyArguments dummyArguments
Attrs attrs
std::optional< common::CUDASubprogramAttrs > cudaSubprogramAttrs

The documentation for this struct was generated from the following files: