|
| DirectiveStructureChecker (SemanticsContext &context, const std::unordered_map< D, DirectiveClauses< C, ClauseEnumSize > > &directiveClausesMap) |
void | SetLoopIv (Symbol *symbol) |
DirectiveContext & | GetContext () |
DirectiveContext & | GetContextParent () |
void | SetContextClause (const PC &clause) |
void | ResetPartialContext (const parser::CharBlock &source) |
void | SetContextDirectiveSource (const parser::CharBlock &directive) |
void | SetContextDirectiveEnum (D dir) |
void | SetContextAllowed (const common::EnumSet< C, ClauseEnumSize > &allowed) |
void | SetContextAllowedOnce (const common::EnumSet< C, ClauseEnumSize > &allowedOnce) |
void | SetContextAllowedExclusive (const common::EnumSet< C, ClauseEnumSize > &allowedExclusive) |
void | SetContextRequired (const common::EnumSet< C, ClauseEnumSize > &required) |
void | SetContextClauseInfo (C type) |
void | AddClauseToCrtContext (C type) |
void | AddClauseToCrtGroupInContext (C type) |
void | ResetCrtGroup () |
const PC * | FindClause (C type) |
const PC * | FindClause (DirectiveContext &context, C type) |
const PC * | FindClauseParent (C type) |
llvm::iterator_range< typename ClauseMapTy::iterator > | FindClauses (C type) |
DirectiveContext * | GetEnclosingDirContext () |
void | PushContext (const parser::CharBlock &source, D dir) |
DirectiveContext * | GetEnclosingContextWithDir (D dir) |
bool | CurrentDirectiveIsNested () |
void | SetClauseSets (D dir) |
void | PushContextAndClauseSets (const parser::CharBlock &source, D dir) |
void | SayNotMatching (const parser::CharBlock &, const parser::CharBlock &) |
template<typename B> |
void | CheckMatching (const B &beginDir, const B &endDir) |
void | CheckNoBranching (const parser::Block &block, D directive, const parser::CharBlock &directiveSource) |
void | CheckOnlyAllowedAfter (C clause, common::EnumSet< C, ClauseEnumSize > set) |
void | CheckRequireAtLeastOneOf (bool warnInsteadOfError=false) |
bool | CheckAllowed (C clause, bool warnInsteadOfError=false) |
void | CheckAllowedOncePerGroup (C clause, C separator) |
void | CheckMutuallyExclusivePerGroup (C clause, C separator, common::EnumSet< C, ClauseEnumSize > set) |
void | CheckAtLeastOneClause () |
void | CheckNotAllowedIfClause (C clause, common::EnumSet< C, ClauseEnumSize > set) |
std::string | ContextDirectiveAsFortran () |
void | RequiresConstantPositiveParameter (const C &clause, const parser::ScalarIntConstantExpr &i) |
void | RequiresPositiveParameter (const C &clause, const parser::ScalarIntExpr &i, llvm::StringRef paramName="parameter") |
void | OptionalConstantPositiveParameter (const C &clause, const std::optional< parser::ScalarIntConstantExpr > &o) |
virtual llvm::StringRef | getClauseName (C clause) |
virtual llvm::StringRef | getDirectiveName (D directive) |
std::string | ClauseSetToString (const common::EnumSet< C, ClauseEnumSize > set) |