clang 20.0.0git
|
This represents '#pragma omp critical' directive. More...
#include "clang/AST/StmtOpenMP.h"
Public Member Functions | |
DeclarationNameInfo | getDirectiveName () const |
Return name of the directive. | |
Public Member Functions inherited from clang::OMPExecutableDirective | |
template<typename SpecificClause > | |
llvm::iterator_range< specific_clause_iterator< SpecificClause > > | getClausesOfKind () const |
template<typename SpecificClause > | |
const SpecificClause * | getSingleClause () const |
template<typename SpecificClause > | |
bool | hasClausesOfKind () const |
Returns true if the current directive has one or more clauses of a specific kind. | |
SourceLocation | getBeginLoc () const |
Returns starting location of directive kind. | |
SourceLocation | 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. | |
unsigned | getNumClauses () const |
Get number of clauses. | |
OMPClause * | getClause (unsigned I) const |
Returns specified clause. | |
bool | hasAssociatedStmt () const |
Returns true if directive has associated statement. | |
const Stmt * | getAssociatedStmt () const |
Returns statement associated with the directive. | |
Stmt * | getAssociatedStmt () |
const CapturedStmt * | getCapturedStmt (OpenMPDirectiveKind RegionKind) const |
Returns the captured statement associated with the component region within the (combined) directive. | |
CapturedStmt * | getInnermostCapturedStmt () |
Get innermost captured statement for the construct. | |
const CapturedStmt * | getInnermostCapturedStmt () const |
OpenMPDirectiveKind | getDirectiveKind () const |
child_range | children () |
const_child_range | children () const |
ArrayRef< OMPClause * > | clauses () const |
bool | 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 * | getStructuredBlock () |
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 (const Stmt &)=delete | |
Stmt (Stmt &&)=delete | |
Stmt & | operator= (const Stmt &)=delete |
Stmt & | operator= (Stmt &&)=delete |
Stmt (StmtClass SC) | |
StmtClass | getStmtClass () const |
const char * | getStmtClassName () const |
SourceRange | getSourceRange () const LLVM_READONLY |
SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. | |
SourceLocation | getBeginLoc () const LLVM_READONLY |
SourceLocation | 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 * | stripLabelLikeStatements () |
child_range | children () |
const_child_range | children () const |
child_iterator | child_begin () |
child_iterator | child_end () |
const_child_iterator | child_begin () const |
const_child_iterator | 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 | classof (const Stmt *T) |
Static Public Member Functions inherited from clang::OMPExecutableDirective | |
static llvm::iterator_range< used_clauses_child_iterator > | used_clauses_children (ArrayRef< OMPClause * > Clauses) |
template<typename SpecificClause > | |
static llvm::iterator_range< specific_clause_iterator< SpecificClause > > | getClausesOfKind (ArrayRef< OMPClause * > Clauses) |
template<typename SpecificClause > | |
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 | classof (const Stmt *S) |
Static Public Member Functions inherited from clang::Stmt | |
static void | addStmtClass (const StmtClass s) |
static void | EnableStatistics () |
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) |
Friends | |
class | ASTStmtReader |
class | OMPExecutableDirective |
This represents '#pragma omp critical' directive.
Definition at line 2076 of file StmtOpenMP.h.
Definition at line 2133 of file StmtOpenMP.h.
References clang::T.
|
static |
Creates directive.
C | AST context. |
Name | Name of the directive. |
StartLoc | Starting location of the directive kind. |
EndLoc | Ending Location of the directive. |
Clauses | List of clauses. |
AssociatedStmt | Statement, associated with the directive. |
Definition at line 619 of file StmtOpenMP.cpp.
References clang::C.
Referenced by clang::SemaOpenMP::ActOnOpenMPCriticalDirective().
|
static |
Creates an empty directive.
C | AST context. |
NumClauses | Number of clauses. |
Definition at line 628 of file StmtOpenMP.cpp.
References clang::C.
|
inline |
Return name of the directive.
Definition at line 2131 of file StmtOpenMP.h.
|
friend |
Definition at line 2077 of file StmtOpenMP.h.
|
friend |
Definition at line 2078 of file StmtOpenMP.h.