FLANG
Fortran::semantics::SubprogramDetails Class Reference
Inheritance diagram for Fortran::semantics::SubprogramDetails:
Fortran::semantics::WithBindName Fortran::semantics::WithOmpDeclarative

Public Member Functions

bool isFunction () const
bool isInterface () const
void set_isInterface (bool value=true)
bool isDummy () const
void set_isDummy (bool value=true)
ScopeentryScope ()
const ScopeentryScope () const
void set_entryScope (Scope &scope)
const Symbolresult () const
void set_result (Symbol &result)
const std::vector< Symbol * > & dummyArgs () const
void add_dummyArg (Symbol &symbol)
void add_alternateReturn ()
const MaybeExpr & stmtFunction () const
void set_stmtFunction (SomeExpr &&expr)
SymbolmoduleInterface ()
const SymbolmoduleInterface () const
void set_moduleInterface (Symbol &)
void ReplaceResult (Symbol &result)
bool defaultIgnoreTKR () const
void set_defaultIgnoreTKR (bool yes)
std::optional< common::CUDASubprogramAttrs > cudaSubprogramAttrs () const
void set_cudaSubprogramAttrs (common::CUDASubprogramAttrs csas)
std::vector< std::int64_t > & cudaLaunchBounds ()
const std::vector< std::int64_t > & cudaLaunchBounds () const
void set_cudaLaunchBounds (std::vector< std::int64_t > &&x)
std::vector< std::int64_t > & cudaClusterDims ()
const std::vector< std::int64_t > & cudaClusterDims () const
void set_cudaClusterDims (std::vector< std::int64_t > &&x)
const std::vector< OpenACCRoutineInfo > & openACCRoutineInfos () const
void add_openACCRoutineInfo (OpenACCRoutineInfo info)
Public Member Functions inherited from Fortran::semantics::WithBindName
const std::string * bindName () const
bool isExplicitBindName () const
void set_bindName (std::string &&name)
void set_isExplicitBindName (bool yes)
bool isCDefined () const
void set_isCDefined (bool yes)
Public Member Functions inherited from Fortran::semantics::WithOmpDeclarative
 ENUM_CLASS (RequiresFlag, ReverseOffload, UnifiedAddress, UnifiedSharedMemory, DynamicAllocators)
bool has_ompRequires () const
const RequiresFlagsompRequires () const
void set_ompRequires (RequiresFlags flags)
bool has_ompAtomicDefaultMemOrder () const
const OmpAtomicOrderType * ompAtomicDefaultMemOrder () const
void set_ompAtomicDefaultMemOrder (OmpAtomicOrderType flags)

Friends

llvm::raw_ostream & operator<< (llvm::raw_ostream &os, const SubprogramDetails &x)

Additional Inherited Members

Public Types inherited from Fortran::semantics::WithOmpDeclarative
using RequiresFlags = common::EnumSet<RequiresFlag, RequiresFlag_enumSize>

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