FLANG
Public Member Functions | Friends | List of all members
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 &, const SubprogramDetails &)
 

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: