FLANG
Fortran::semantics::SemanticsContext Class Reference

Public Member Functions

 SemanticsContext (const common::IntrinsicTypeDefaultKinds &, const common::LanguageFeatureControl &, const common::LangOptions &, parser::AllCookedSources &, common::FPMaxminBehavior=common::FPMaxminBehavior::Legacy)
const common::IntrinsicTypeDefaultKinds & defaultKinds () const
const common::LanguageFeatureControl & languageFeatures () const
const common::LangOptions & langOptions () const
const std::string & openAccDefaultNoneScalarsStrictDisableOption () const
int GetDefaultKind (TypeCategory) const
int doublePrecisionKind () const
int quadPrecisionKind () const
bool IsEnabled (common::LanguageFeature feature) const
template<typename A>
bool ShouldWarn (A x) const
const std::optional< parser::CharBlock > & location () const
const std::vector< std::string > & searchDirectories () const
const std::vector< std::string > & intrinsicModuleDirectories () const
const std::vector< std::string > & implicitUseModules () const
const std::string & moduleDirectory () const
const std::string & moduleFileSuffix () const
bool underscoring () const
bool warningsAreErrors () const
bool debugModuleWriter () const
const evaluate::IntrinsicProcTable & intrinsics () const
const evaluate::TargetCharacteristics & targetCharacteristics () const
evaluate::TargetCharacteristics & targetCharacteristics ()
const std::string & targetTriple () const
const std::string & targetFeatures () const
Scope & globalScope ()
Scope & intrinsicModulesScope ()
Scope * currentHermeticModuleFileScope ()
void set_currentHermeticModuleFileScope (Scope *scope)
parser::Messages & messages ()
evaluate::FoldingContext & foldingContext ()
parser::AllCookedSources & allCookedSources ()
ModuleDependences & moduleDependences ()
std::map< const Symbol *, SourceName > & moduleFileOutputRenamings ()
SemanticsContext & set_location (const std::optional< parser::CharBlock > &location)
SemanticsContext & set_searchDirectories (const std::vector< std::string > &x)
SemanticsContext & set_intrinsicModuleDirectories (const std::vector< std::string > &x)
SemanticsContext & set_implicitUseModules (const std::vector< std::string > &x)
SemanticsContext & set_moduleDirectory (const std::string &x)
SemanticsContext & set_moduleFileSuffix (const std::string &x)
SemanticsContext & set_underscoring (bool x)
SemanticsContext & set_warnOnNonstandardUsage (bool x)
SemanticsContext & set_maxErrors (size_t x)
SemanticsContext & set_warningsAreErrors (bool x)
SemanticsContext & set_debugModuleWriter (bool x)
SemanticsContext & set_openAccDefaultNoneScalarsStrictDisableOption (std::string x)
SemanticsContext & set_targetTriple (const std::string &x)
SemanticsContext & set_targetFeatures (const std::string &x)
const DeclTypeSpec & MakeNumericType (TypeCategory, int kind=0)
const DeclTypeSpec & MakeLogicalType (int kind=0)
std::size_t maxErrors () const
bool AnyFatalError () const
bool HasError (const Symbol &)
bool HasError (const Symbol *)
bool HasError (const parser::Name &)
void SetError (const Symbol &, bool=true)
template<typename... A>
parser::Message & Say (A &&...args)
template<typename... A>
parser::Message & Say (parser::CharBlock at, A &&...args)
parser::Message & Say (parser::Message &&msg)
template<typename... A>
parser::Message & SayWithDecl (const Symbol &symbol, const parser::CharBlock &at, parser::MessageFixedText &&msg, A &&...args)
template<typename... A>
parser::Message * Warn (parser::Messages &messages, common::LanguageFeature feature, parser::CharBlock at, A &&...args)
template<typename... A>
parser::Message * Warn (parser::Messages &messages, common::UsageWarning warning, parser::CharBlock at, A &&...args)
template<typename... A>
parser::Message * Warn (parser::ContextualMessages &messages, common::LanguageFeature feature, parser::CharBlock at, A &&...args)
template<typename... A>
parser::Message * Warn (parser::ContextualMessages &messages, common::UsageWarning warning, parser::CharBlock at, A &&...args)
template<typename... A>
parser::Message * Warn (parser::ContextualMessages &messages, common::LanguageFeature feature, A &&...args)
template<typename... A>
parser::Message * Warn (parser::ContextualMessages &messages, common::UsageWarning warning, A &&...args)
template<typename... A>
parser::Message * Warn (common::LanguageFeature feature, parser::CharBlock at, A &&...args)
template<typename... A>
parser::Message * Warn (common::UsageWarning warning, parser::CharBlock at, A &&...args)
template<typename... A>
parser::Message * Warn (common::LanguageFeature feature, A &&...args)
template<typename... A>
parser::Message * Warn (common::UsageWarning warning, A &&...args)
void EmitMessages (llvm::raw_ostream &)
const Scope & FindScope (parser::CharBlock) const
Scope & FindScope (parser::CharBlock)
const Scope * FindScopeIfAny (parser::CharBlock) const
void UpdateScopeIndex (Scope &, parser::CharBlock)
void DumpScopeIndex (llvm::raw_ostream &) const
bool IsInModuleFile (parser::CharBlock) const
const ConstructStack & constructStack () const
template<typename N>
void PushConstruct (const N &node)
void PopConstruct ()
void WarnIndexVarRedefine (const parser::CharBlock &, const Symbol &)
void CheckIndexVarRedefine (const parser::CharBlock &, const Symbol &)
void CheckIndexVarRedefine (const parser::Variable &)
void CheckIndexVarRedefine (const parser::Name &)
void ActivateIndexVar (const parser::Name &, IndexVarKind)
void DeactivateIndexVar (const parser::Name &)
SymbolVector GetIndexVars (IndexVarKind)
SourceName SaveTempName (std::string &&)
SourceName GetTempName (const Scope &)
Scope * GetBuiltinModule (const char *name)
void UseFortranBuiltinsModule ()
const Scope * GetBuiltinsScope () const
const Scope * GetCUDABuiltinsScope ()
const Scope * GetCUDADeviceScope ()
void UsePPCBuiltinTypesModule ()
void UsePPCBuiltinsModule ()
Scope * GetPPCBuiltinTypesScope ()
const Scope * GetPPCBuiltinsScope () const
parser::Program & SaveParseTree (parser::Program &&)
void MapCommonBlockAndCheckConflicts (const Symbol &)
void CheckCommonBlockInitializationConflicts ()
CommonBlockList GetCommonBlocks () const
void NoteOpenACCDataMapping ()
bool AnyOpenACCDataMapping () const
void NoteDefinedSymbol (const Symbol &)
bool IsSymbolDefined (const Symbol &) const
void NoteUsedSymbol (const Symbol &)
void NoteUsedSymbols (const UnorderedSymbolSet &)
bool IsSymbolUsed (const Symbol &) const
void MarkAccObjectDuplicate (const parser::AccObject *o)
bool IsAccObjectDuplicate (const parser::AccObject *o) const
void DumpSymbols (llvm::raw_ostream &)
ProgramTree & SaveProgramTree (ProgramTree &&)
const std::list< parser::Program > & GetModFileParseTrees ()
void RecordBranchTarget (parser::CharBlock statementPosition)
bool IsRecordedBranchTarget (parser::CharBlock statementPosition) const

Static Public Member Functions

static bool IsTempName (const std::string &)

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