class OMPExecutableDirective
Declaration
class OMPExecutableDirective : public Stmt { /* full declaration omitted */ };
Description
This is a basic class for representing single OpenMP executable directive.
Declared at: clang/include/clang/AST/StmtOpenMP.h:266
Inherits from: Stmt
Member Variables
- private clang::OpenMPDirectiveKind Kind = llvm::omp::OMPD_unknown
- Kind of the directive.
- private clang::SourceLocation StartLoc
- Starting location of the directive (directive keyword).
- private clang::SourceLocation EndLoc
- Ending location of the directive.
- protected clang::OMPChildren* Data = nullptr
- Data, associated with the directive.
Inherited from Stmt:
Method Overview
- protected OMPExecutableDirective(clang::Stmt::StmtClass SC, clang::OpenMPDirectiveKind K, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * S)
- public ArrayRef<clang::OMPClause *> clauses() const
- protected template <typename T, typename... Params>static T * createDirective(const clang::ASTContext & C, ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AssociatedStmt, unsigned int NumChildren, Params &&... P)
- protected template <typename T, typename... Params>static T * createEmptyDirective(const clang::ASTContext & C, unsigned int NumClauses, bool HasAssociatedStmt, unsigned int NumChildren, Params &&... P)
- protected template <typename T>static T * createEmptyDirective(const clang::ASTContext & C, unsigned int NumClauses, bool HasAssociatedStmt = false, unsigned int NumChildren = 0)
- public const clang::Stmt * getAssociatedStmt() const
- public clang::Stmt * getAssociatedStmt()
- public clang::SourceLocation getBeginLoc() const
- public const clang::CapturedStmt * getCapturedStmt(clang::OpenMPDirectiveKind RegionKind) const
- public clang::OMPClause * getClause(unsigned int I) const
- private MutableArrayRef<clang::OMPClause *> getClauses()
- public template <typename SpecificClause>llvm::iterator_range<specific_clause_iterator<SpecificClause>> getClausesOfKind() const
- public template <typename SpecificClause>static llvm::iterator_range<specific_clause_iterator<SpecificClause>> getClausesOfKind(ArrayRef<clang::OMPClause *> Clauses)
- public clang::OpenMPDirectiveKind getDirectiveKind() const
- public clang::SourceLocation getEndLoc() const
- public const clang::CapturedStmt * getInnermostCapturedStmt() const
- public clang::CapturedStmt * getInnermostCapturedStmt()
- public unsigned int getNumClauses() const
- public const clang::Stmt * getRawStmt() const
- public clang::Stmt * getRawStmt()
- public template <typename SpecificClause>const SpecificClause * getSingleClause() const
- public template <typename SpecificClause>static const SpecificClause * getSingleClause(ArrayRef<clang::OMPClause *> Clauses)
- public clang::Stmt * getStructuredBlock()
- public const clang::Stmt * getStructuredBlock() const
- public bool hasAssociatedStmt() const
- public template <typename SpecificClause>bool hasClausesOfKind() const
- public bool isStandaloneDirective() const
- public void setLocEnd(clang::SourceLocation Loc)
- public void setLocStart(clang::SourceLocation Loc)
- public static llvm::iterator_range<used_clauses_child_iterator> used_clauses_children(ArrayRef<clang::OMPClause *> Clauses)
Inherited from Stmt:
- public EnableStatistics
- public IgnoreContainers
- public IgnoreContainers
- public PrintStats
- public ProcessODRHash
- public Profile
- public addStmtClass
- public child_begin
- public child_begin
- public child_end
- public child_end
- public children
- public children
- public determineLikelihoodConflict
- public dump
- public dump
- public dumpColor
- public dumpPretty
- public getBeginLoc
- public getEndLoc
- public getID
- public getLikelihood
- public getLikelihood
- public getLikelihood
- public getLikelihoodAttr
- public getSourceRange
- public getStmtClass
- public getStmtClassName
- public printJson
- public printPretty
- public printPrettyControlled
- public stripLabelLikeStatements
- public stripLabelLikeStatements
- public viewAST
Methods
¶OMPExecutableDirective(
clang::Stmt::StmtClass SC,
clang::OpenMPDirectiveKind K,
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
OMPExecutableDirective(
clang::Stmt::StmtClass SC,
clang::OpenMPDirectiveKind K,
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
Description
Build instance of directive of class \a K.
Declared at: clang/include/clang/AST/StmtOpenMP.h:295
Parameters
- clang::Stmt::StmtClass SC
- Statement class.
- clang::OpenMPDirectiveKind K
- Kind of OpenMP directive.
- clang::SourceLocation StartLoc
- Starting location of the directive (directive keyword).
- clang::SourceLocation EndLoc
- Ending location of the directive.
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:568
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/StmtOpenMP.h:562
¶static bool classof(const clang::Stmt* S)
static bool classof(const clang::Stmt* S)
Declared at: clang/include/clang/AST/StmtOpenMP.h:557
Parameters
- const clang::Stmt* S
¶ArrayRef<clang::OMPClause*> clauses() const
ArrayRef<clang::OMPClause*> clauses() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:572
¶template <typename T, typename... Params>
static T* createDirective(
const clang::ASTContext& C,
ArrayRef<clang::OMPClause*> Clauses,
clang::Stmt* AssociatedStmt,
unsigned int NumChildren,
Params&&... P)
template <typename T, typename... Params>
static T* createDirective(
const clang::ASTContext& C,
ArrayRef<clang::OMPClause*> Clauses,
clang::Stmt* AssociatedStmt,
unsigned int NumChildren,
Params&&... P)
Declared at: clang/include/clang/AST/StmtOpenMP.h:301
Templates
- T
- Params
Parameters
- const clang::ASTContext& C
- ArrayRef<clang::OMPClause*> Clauses
- clang::Stmt* AssociatedStmt
- unsigned int NumChildren
- Params&&... P
¶template <typename T, typename... Params>
static T* createEmptyDirective(
const clang::ASTContext& C,
unsigned int NumClauses,
bool HasAssociatedStmt,
unsigned int NumChildren,
Params&&... P)
template <typename T, typename... Params>
static T* createEmptyDirective(
const clang::ASTContext& C,
unsigned int NumClauses,
bool HasAssociatedStmt,
unsigned int NumChildren,
Params&&... P)
Declared at: clang/include/clang/AST/StmtOpenMP.h:317
Templates
- T
- Params
Parameters
- const clang::ASTContext& C
- unsigned int NumClauses
- bool HasAssociatedStmt
- unsigned int NumChildren
- Params&&... P
¶template <typename T>
static T* createEmptyDirective(
const clang::ASTContext& C,
unsigned int NumClauses,
bool HasAssociatedStmt = false,
unsigned int NumChildren = 0)
template <typename T>
static T* createEmptyDirective(
const clang::ASTContext& C,
unsigned int NumClauses,
bool HasAssociatedStmt = false,
unsigned int NumChildren = 0)
Declared at: clang/include/clang/AST/StmtOpenMP.h:333
Templates
- T
Parameters
- const clang::ASTContext& C
- unsigned int NumClauses
- bool HasAssociatedStmt = false
- unsigned int NumChildren = 0
¶const clang::Stmt* getAssociatedStmt() const
const clang::Stmt* getAssociatedStmt() const
Description
Returns statement associated with the directive.
Declared at: clang/include/clang/AST/StmtOpenMP.h:520
¶clang::Stmt* getAssociatedStmt()
clang::Stmt* getAssociatedStmt()
Declared at: clang/include/clang/AST/StmtOpenMP.h:523
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Description
Returns starting location of directive kind.
Declared at: clang/include/clang/AST/StmtOpenMP.h:488
¶const clang::CapturedStmt* getCapturedStmt(
clang::OpenMPDirectiveKind RegionKind) const
const clang::CapturedStmt* getCapturedStmt(
clang::OpenMPDirectiveKind RegionKind) const
Description
Returns the captured statement associated with the component region within the (combined) directive.
Declared at: clang/include/clang/AST/StmtOpenMP.h:533
Parameters
- clang::OpenMPDirectiveKind RegionKind
- Component region kind.
¶clang::OMPClause* getClause(unsigned int I) const
clang::OMPClause* getClause(unsigned int I) const
Description
Returns specified clause.
Declared at: clang/include/clang/AST/StmtOpenMP.h:514
Parameters
- unsigned int I
- Number of clause.
¶MutableArrayRef<clang::OMPClause*> getClauses()
MutableArrayRef<clang::OMPClause*> getClauses()
Description
Get the clauses storage.
Declared at: clang/include/clang/AST/StmtOpenMP.h:278
¶template <typename SpecificClause>
llvm::iterator_range<
specific_clause_iterator<SpecificClause>>
getClausesOfKind() const
template <typename SpecificClause>
llvm::iterator_range<
specific_clause_iterator<SpecificClause>>
getClausesOfKind() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:453
Templates
- SpecificClause
¶template <typename SpecificClause>
static llvm::iterator_range<
specific_clause_iterator<SpecificClause>>
getClausesOfKind(
ArrayRef<clang::OMPClause*> Clauses)
template <typename SpecificClause>
static llvm::iterator_range<
specific_clause_iterator<SpecificClause>>
getClausesOfKind(
ArrayRef<clang::OMPClause*> Clauses)
Declared at: clang/include/clang/AST/StmtOpenMP.h:445
Templates
- SpecificClause
Parameters
- ArrayRef<clang::OMPClause*> Clauses
¶clang::OpenMPDirectiveKind getDirectiveKind()
const
clang::OpenMPDirectiveKind getDirectiveKind()
const
Declared at: clang/include/clang/AST/StmtOpenMP.h:555
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Description
Returns ending location of directive.
Declared at: clang/include/clang/AST/StmtOpenMP.h:490
¶const clang::CapturedStmt*
getInnermostCapturedStmt() const
const clang::CapturedStmt*
getInnermostCapturedStmt() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:550
¶clang::CapturedStmt* getInnermostCapturedStmt()
clang::CapturedStmt* getInnermostCapturedStmt()
Description
Get innermost captured statement for the construct.
Declared at: clang/include/clang/AST/StmtOpenMP.h:542
¶unsigned int getNumClauses() const
unsigned int getNumClauses() const
Description
Get number of clauses.
Declared at: clang/include/clang/AST/StmtOpenMP.h:504
¶const clang::Stmt* getRawStmt() const
const clang::Stmt* getRawStmt() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:592
¶clang::Stmt* getRawStmt()
clang::Stmt* getRawStmt()
Declared at: clang/include/clang/AST/StmtOpenMP.h:595
¶template <typename SpecificClause>
const SpecificClause* getSingleClause() const
template <typename SpecificClause>
const SpecificClause* getSingleClause() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:475
Templates
- SpecificClause
¶template <typename SpecificClause>
static const SpecificClause* getSingleClause(
ArrayRef<clang::OMPClause*> Clauses)
template <typename SpecificClause>
static const SpecificClause* getSingleClause(
ArrayRef<clang::OMPClause*> Clauses)
Description
Gets a single clause of the specified kind associated with the current directive iff there is only one clause of this kind (and assertion is fired if there is more than one clause is associated with the directive). Returns nullptr if no clause of this kind is associated with the directive.
Declared at: clang/include/clang/AST/StmtOpenMP.h:463
Templates
- SpecificClause
Parameters
- ArrayRef<clang::OMPClause*> Clauses
¶clang::Stmt* getStructuredBlock()
clang::Stmt* getStructuredBlock()
Declared at: clang/include/clang/AST/StmtOpenMP.h:590
¶const clang::Stmt* getStructuredBlock() const
const clang::Stmt* getStructuredBlock() const
Description
Returns the AST node representing OpenMP structured-block of this OpenMP executable directive, Prerequisite: Executable Directive must not be Standalone directive.
Declared at: clang/include/clang/AST/StmtOpenMP.h:587
¶bool hasAssociatedStmt() const
bool hasAssociatedStmt() const
Description
Returns true if directive has associated statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:517
¶template <typename SpecificClause>
bool hasClausesOfKind() const
template <typename SpecificClause>
bool hasClausesOfKind() const
Description
Returns true if the current directive has one or more clauses of a specific kind.
Declared at: clang/include/clang/AST/StmtOpenMP.h:482
Templates
- SpecificClause
¶bool isStandaloneDirective() const
bool isStandaloneDirective() const
Description
Returns whether or not this is a Standalone directive. Stand-alone directives are executable directives that have no associated user code.
Declared at: clang/include/clang/AST/StmtOpenMP.h:582
¶void setLocEnd(clang::SourceLocation Loc)
void setLocEnd(clang::SourceLocation Loc)
Description
Set ending location of directive.
Declared at: clang/include/clang/AST/StmtOpenMP.h:501
Parameters
- clang::SourceLocation Loc
- New ending location of directive.
¶void setLocStart(clang::SourceLocation Loc)
void setLocStart(clang::SourceLocation Loc)
Description
Set starting location of directive kind.
Declared at: clang/include/clang/AST/StmtOpenMP.h:496
Parameters
- clang::SourceLocation Loc
- New starting location of directive.
¶static llvm::iterator_range<
used_clauses_child_iterator>
used_clauses_children(
ArrayRef<clang::OMPClause*> Clauses)
static llvm::iterator_range<
used_clauses_child_iterator>
used_clauses_children(
ArrayRef<clang::OMPClause*> Clauses)
Declared at: clang/include/clang/AST/StmtOpenMP.h:401
Parameters
- ArrayRef<clang::OMPClause*> Clauses