clang: clang::OMPCriticalDirective Class Reference (original) (raw)
Public Member Functions
getDirectiveName () const
Return name of the directive.
Public Member Functions inherited from clang::OMPExecutableDirective
template
llvm::iterator_range< specific_clause_iterator< SpecificClause > >
getClausesOfKind () const
template
const SpecificClause *
getSingleClause () const
template
hasClausesOfKind () const
Returns true if the current directive has one or more clauses of a specific kind.
getBeginLoc () const
Returns starting location of directive kind.
getEndLoc () const
Returns ending location of directive.
void
setLocStart (SourceLocation Loc)
Set starting location of directive kind.
void
setLocEnd (SourceLocation Loc)
Set ending location of directive.
getNumClauses () const
Get number of clauses.
Returns specified clause.
hasAssociatedStmt () const
Returns true if directive has associated statement.
const Stmt *
getAssociatedStmt () const
Returns statement associated with the directive.
Stmt *
const CapturedStmt *
getCapturedStmt (OpenMPDirectiveKind RegionKind) const
Returns the captured statement associated with the component region within the (combined) directive.
Get innermost captured statement for the construct.
const CapturedStmt *
getInnermostCapturedStmt () const
getDirectiveKind () const
children ()
children () const
clauses () const
isStandaloneDirective () const
Returns whether or not this is a Standalone directive.
const Stmt *
getStructuredBlock () const
Returns the AST node representing OpenMP structured-block of this OpenMP executable directive, Prerequisite: Executable Directive must not be Standalone directive.
Stmt *
const Stmt *
getRawStmt () const
Stmt *
getRawStmt ()
Public Member Functions inherited from clang::Stmt
void *
operator new (size_t bytes, const ASTContext &C, unsigned alignment=8)
void *
operator new (size_t bytes, const ASTContext *C, unsigned alignment=8)
void *
operator new (size_t bytes, void *mem) noexcept
void
operator delete (void *, const ASTContext &, unsigned) noexcept
void
operator delete (void *, const ASTContext *, unsigned) noexcept
void
operator delete (void *, size_t) noexcept
void
operator delete (void *, void *) noexcept
Stmt ()=delete
Stmt &
operator= (const Stmt &)=delete
Stmt &
getStmtClass () const
const char *
getStmtClassName () const
getSourceRange () const LLVM_READONLY
SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager.
getBeginLoc () const LLVM_READONLY
getEndLoc () const LLVM_READONLY
void
dump () const
Dumps the specified AST fragment and all subtrees to llvm::errs()
.
void
dump (raw_ostream &OS, const ASTContext &Context) const
int64_t
getID (const ASTContext &Context) const
void
dumpColor () const
dumpColor - same as dump(), but forces color highlighting.
void
dumpPretty (const ASTContext &Context) const
dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax.
void
printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const
void
printPrettyControlled (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const
void
printJson (raw_ostream &Out, PrinterHelper *Helper, const PrintingPolicy &Policy, bool AddQuotes) const
Pretty-prints in JSON format.
void
viewAST () const
viewAST - Visualize an AST rooted at this Stmt* using GraphViz.
Stmt *
IgnoreContainers (bool IgnoreCaptured=false)
Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true.
const Stmt *
IgnoreContainers (bool IgnoreCaptured=false) const
const Stmt *
stripLabelLikeStatements () const
Strip off all label-like statements.
Stmt *
children ()
children () const
child_begin ()
child_end ()
child_begin () const
child_end () const
void
Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, bool Canonical, bool ProfileLambdaExpr=false) const
Produce a unique representation of the given statement.
void
ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const
Calculate a unique representation for a statement that is stable across compiler invocations.
Static Public Member Functions
static OMPCriticalDirective *
Create (const ASTContext &C, const DeclarationNameInfo &Name, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt)
Creates directive.
static OMPCriticalDirective *
CreateEmpty (const ASTContext &C, unsigned NumClauses, EmptyShell)
Creates an empty directive.
static bool
Static Public Member Functions inherited from clang::OMPExecutableDirective
static llvm::iterator_range< used_clauses_child_iterator >
used_clauses_children (ArrayRef< OMPClause * > Clauses)
template
static llvm::iterator_range< specific_clause_iterator< SpecificClause > >
getClausesOfKind (ArrayRef< OMPClause * > Clauses)
template
static const SpecificClause *
getSingleClause (ArrayRef< OMPClause * > Clauses)
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).
static bool
Static Public Member Functions inherited from clang::Stmt
static void
addStmtClass (const StmtClass s)
static void
static void
PrintStats ()
static Likelihood
getLikelihood (ArrayRef< const Attr * > Attrs)
static Likelihood
getLikelihood (const Stmt *S)
static const Attr *
getLikelihoodAttr (const Stmt *S)
static Likelihood
getLikelihood (const Stmt *Then, const Stmt *Else)
static std::tuple< bool, const Attr *, const Attr * >
determineLikelihoodConflict (const Stmt *Then, const Stmt *Else)
Additional Inherited Members
Public Types inherited from clang::Stmt
enum
StmtClass { NoStmtClass = 0 }
enum
Likelihood { LH_Unlikely = -1 , LH_None, LH_Likely }
The likelihood of a branch being taken. More...
using
Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpressions of an AST node.
using
const_child_iterator = ConstStmtIterator
using
child_range = llvm::iterator_range< child_iterator >
using
const_child_range = llvm::iterator_range< const_child_iterator >
Protected Types inherited from clang::Stmt
enum
{ NumExprBits = NumStmtBits + 5 + llvm::BitWidth }
enum
{ NumCallExprBits = 32 }
enum
{ NumOverloadExprBits = NumExprBits + 1 }
template<typename T >
using
ConstCastIterator = CastIterator< T, const T *const, const Stmt *const >
Const iterator for iterating over Stmt * arrays that contain only T *.
using
ExprIterator = CastIterator< Expr >
using
ConstExprIterator = ConstCastIterator< Expr >
Protected Member Functions inherited from clang::OMPExecutableDirective
OMPExecutableDirective (StmtClass SC, OpenMPDirectiveKind K, SourceLocation StartLoc, SourceLocation EndLoc)
Build instance of directive of class K.
Protected Member Functions inherited from clang::Stmt
void *
operator new (size_t bytes) noexcept
void
operator delete (void *data) noexcept
Stmt (StmtClass SC, EmptyShell)
Construct an empty statement.
Static Protected Member Functions inherited from clang::OMPExecutableDirective
template<typename T , typename... Params>
static T *
createDirective (const ASTContext &C, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, unsigned NumChildren, Params &&... P)
template<typename T , typename... Params>
static T *
createEmptyDirective (const ASTContext &C, unsigned NumClauses, bool HasAssociatedStmt, unsigned NumChildren, Params &&... P)
template<typename T >
static T *
createEmptyDirective (const ASTContext &C, unsigned NumClauses, bool HasAssociatedStmt=false, unsigned NumChildren=0)
Protected Attributes inherited from clang::OMPExecutableDirective
Data = nullptr
Data, associated with the directive.
Protected Attributes inherited from clang::Stmt
union {
NullStmtBitfields NullStmtBits
CompoundStmtBitfields CompoundStmtBits
LabelStmtBitfields LabelStmtBits
AttributedStmtBitfields AttributedStmtBits
SwitchStmtBitfields SwitchStmtBits
WhileStmtBitfields WhileStmtBits
GotoStmtBitfields GotoStmtBits
ContinueStmtBitfields ContinueStmtBits
BreakStmtBitfields BreakStmtBits
ReturnStmtBitfields ReturnStmtBits
SwitchCaseBitfields SwitchCaseBits
ConstantExprBitfields ConstantExprBits
PredefinedExprBitfields PredefinedExprBits
DeclRefExprBitfields DeclRefExprBits
FloatingLiteralBitfields FloatingLiteralBits
StringLiteralBitfields StringLiteralBits
CharacterLiteralBitfields CharacterLiteralBits
UnaryOperatorBitfields UnaryOperatorBits
UnaryExprOrTypeTraitExprBitfields UnaryExprOrTypeTraitExprBits
ArrayOrMatrixSubscriptExprBitfields ArrayOrMatrixSubscriptExprBits
CallExprBitfields CallExprBits
MemberExprBitfields MemberExprBits
CastExprBitfields CastExprBits
BinaryOperatorBitfields BinaryOperatorBits
InitListExprBitfields InitListExprBits
ParenListExprBitfields ParenListExprBits
GenericSelectionExprBitfields GenericSelectionExprBits
PseudoObjectExprBitfields PseudoObjectExprBits
SourceLocExprBitfields SourceLocExprBits
ParenExprBitfields ParenExprBits
StmtExprBitfields StmtExprBits
CXXOperatorCallExprBitfields CXXOperatorCallExprBits
CXXRewrittenBinaryOperatorBitfields CXXRewrittenBinaryOperatorBits
CXXBoolLiteralExprBitfields CXXBoolLiteralExprBits
CXXNullPtrLiteralExprBitfields CXXNullPtrLiteralExprBits
CXXThisExprBitfields CXXThisExprBits
CXXThrowExprBitfields CXXThrowExprBits
CXXDefaultArgExprBitfields CXXDefaultArgExprBits
CXXDefaultInitExprBitfields CXXDefaultInitExprBits
CXXScalarValueInitExprBitfields CXXScalarValueInitExprBits
CXXNewExprBitfields CXXNewExprBits
CXXDeleteExprBitfields CXXDeleteExprBits
TypeTraitExprBitfields TypeTraitExprBits
DependentScopeDeclRefExprBitfields DependentScopeDeclRefExprBits
CXXConstructExprBitfields CXXConstructExprBits
ExprWithCleanupsBitfields ExprWithCleanupsBits
CXXUnresolvedConstructExprBitfields CXXUnresolvedConstructExprBits
CXXDependentScopeMemberExprBitfields CXXDependentScopeMemberExprBits
OverloadExprBitfields OverloadExprBits
UnresolvedLookupExprBitfields UnresolvedLookupExprBits
UnresolvedMemberExprBitfields UnresolvedMemberExprBits
CXXNoexceptExprBitfields CXXNoexceptExprBits
SubstNonTypeTemplateParmExprBitfields SubstNonTypeTemplateParmExprBits
LambdaExprBitfields LambdaExprBits
RequiresExprBitfields RequiresExprBits
CoawaitExprBitfields CoawaitBits
ObjCIndirectCopyRestoreExprBitfields ObjCIndirectCopyRestoreExprBits
OpaqueValueExprBitfields OpaqueValueExprBits
};
This represents '#pragma omp critical' directive.
Definition at line 2076 of file StmtOpenMP.h.