class OMPAtomicDirective
Declaration
class OMPAtomicDirective : public OMPExecutableDirective { /* full declaration omitted */ };
Description
This represents '#pragma omp atomic' directive. In this example directive '#pragma omp atomic' has clause 'capture'.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2894
Inherits from: OMPExecutableDirective
Member Variables
- private struct FlagTy Flags
Inherited from OMPExecutableDirective:
- protected Data = nullptr
Inherited from Stmt:
Method Overview
- public static clang::OMPAtomicDirective * Create(const clang::ASTContext & C, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AssociatedStmt, clang::OMPAtomicDirective::Expressions Exprs)
- public static clang::OMPAtomicDirective * CreateEmpty(const clang::ASTContext & C, unsigned int NumClauses, clang::Stmt::EmptyShell)
- private OMPAtomicDirective()
- private OMPAtomicDirective(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
- public static bool classof(const clang::Stmt * T)
- public clang::Expr * getCondExpr() const
- public clang::Expr * getCondExpr()
- public clang::Expr * getD()
- public clang::Expr * getD() const
- public clang::Expr * getExpr()
- public const clang::Expr * getExpr() const
- public clang::Expr * getR()
- public const clang::Expr * getR() const
- public clang::Expr * getUpdateExpr()
- public const clang::Expr * getUpdateExpr() const
- public clang::Expr * getV()
- public const clang::Expr * getV() const
- public clang::Expr * getX()
- public const clang::Expr * getX() const
- public bool isFailOnly() const
- public bool isPostfixUpdate() const
- public bool isXLHSInRHSPart() const
- private void setCond(clang::Expr * C)
- private void setD(clang::Expr * D)
- private void setExpr(clang::Expr * E)
- private void setR(clang::Expr * R)
- private void setUpdateExpr(clang::Expr * UE)
- private void setV(clang::Expr * V)
- private void setX(clang::Expr * X)
Inherited from OMPExecutableDirective:
- public children
- public children
- public classof
- public clauses
- protected createDirective
- protected createEmptyDirective
- protected createEmptyDirective
- public getAssociatedStmt
- public getAssociatedStmt
- public getBeginLoc
- public getCapturedStmt
- public getClause
- public getClausesOfKind
- public getClausesOfKind
- public getDirectiveKind
- public getEndLoc
- public getInnermostCapturedStmt
- public getInnermostCapturedStmt
- public getNumClauses
- public getRawStmt
- public getRawStmt
- public getSingleClause
- public getSingleClause
- public getStructuredBlock
- public getStructuredBlock
- public hasAssociatedStmt
- public hasClausesOfKind
- public isStandaloneDirective
- public setLocEnd
- public setLocStart
- public used_clauses_children
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
¶static clang::OMPAtomicDirective* Create(
const clang::ASTContext& C,
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc,
ArrayRef<clang::OMPClause*> Clauses,
clang::Stmt* AssociatedStmt,
clang::OMPAtomicDirective::Expressions Exprs)
static clang::OMPAtomicDirective* Create(
const clang::ASTContext& C,
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc,
ArrayRef<clang::OMPClause*> Clauses,
clang::Stmt* AssociatedStmt,
clang::OMPAtomicDirective::Expressions Exprs)
Description
Creates directive with a list of \a Clauses and 'x', 'v' and 'expr' parts of the atomic construct (see Section 2.12.6, atomic Construct, for detailed description of 'x', 'v' and 'expr').
Declared at: clang/include/clang/AST/StmtOpenMP.h:3004
Parameters
- const clang::ASTContext& C
- AST context.
- clang::SourceLocation StartLoc
- Starting location of the directive kind.
- clang::SourceLocation EndLoc
- Ending Location of the directive.
- ArrayRef<clang::OMPClause*> Clauses
- List of clauses.
- clang::Stmt* AssociatedStmt
- Statement, associated with the directive.
- clang::OMPAtomicDirective::Expressions Exprs
- Associated expressions or statements.
¶static clang::OMPAtomicDirective* CreateEmpty(
const clang::ASTContext& C,
unsigned int NumClauses,
clang::Stmt::EmptyShell)
static clang::OMPAtomicDirective* CreateEmpty(
const clang::ASTContext& C,
unsigned int NumClauses,
clang::Stmt::EmptyShell)
Description
Creates an empty directive with the place for \a NumClauses clauses.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3016
Parameters
- const clang::ASTContext& C
- AST context.
- unsigned int NumClauses
- Number of clauses.
- clang::Stmt::EmptyShell
¶OMPAtomicDirective()
OMPAtomicDirective()
Description
Build an empty directive.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2934
¶OMPAtomicDirective(clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
OMPAtomicDirective(clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
Description
Build directive with the given start and end location.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2928
Parameters
- clang::SourceLocation StartLoc
- Starting location of the directive kind.
- clang::SourceLocation EndLoc
- Ending location of the directive.
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/StmtOpenMP.h:3083
Parameters
- const clang::Stmt* T
¶clang::Expr* getCondExpr() const
clang::Expr* getCondExpr() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:3079
¶clang::Expr* getCondExpr()
clang::Expr* getCondExpr()
Description
Get the 'cond' part of the source atomic expression.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3076
¶clang::Expr* getD()
clang::Expr* getD()
Description
Get 'd' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3069
¶clang::Expr* getD() const
clang::Expr* getD() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:3072
¶clang::Expr* getExpr()
clang::Expr* getExpr()
Description
Get 'expr' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3062
¶const clang::Expr* getExpr() const
const clang::Expr* getExpr() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:3065
¶clang::Expr* getR()
clang::Expr* getR()
Description
Get 'r' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3055
¶const clang::Expr* getR() const
const clang::Expr* getR() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:3058
¶clang::Expr* getUpdateExpr()
clang::Expr* getUpdateExpr()
Description
Get helper expression of the form 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3029
¶const clang::Expr* getUpdateExpr() const
const clang::Expr* getUpdateExpr() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:3033
¶clang::Expr* getV()
clang::Expr* getV()
Description
Get 'v' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3048
¶const clang::Expr* getV() const
const clang::Expr* getV() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:3051
¶clang::Expr* getX()
clang::Expr* getX()
Description
Get 'x' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3020
¶const clang::Expr* getX() const
const clang::Expr* getX() const
Declared at: clang/include/clang/AST/StmtOpenMP.h:3023
¶bool isFailOnly() const
bool isFailOnly() const
Description
Return true if 'v' is updated only when the condition is evaluated false (compare capture only).
Declared at: clang/include/clang/AST/StmtOpenMP.h:3046
¶bool isPostfixUpdate() const
bool isPostfixUpdate() const
Description
Return true if 'v' expression must be updated to original value of 'x', false if 'v' must be updated to the new value of 'x'.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3043
¶bool isXLHSInRHSPart() const
bool isXLHSInRHSPart() const
Description
Return true if helper update expression has form 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' and false if it has form 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'.
Declared at: clang/include/clang/AST/StmtOpenMP.h:3040
¶void setCond(clang::Expr* C)
void setCond(clang::Expr* C)
Description
Set conditional expression in `atomic compare`.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2965
Parameters
- clang::Expr* C
¶void setD(clang::Expr* D)
void setD(clang::Expr* D)
Description
Set 'd' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2963
Parameters
- clang::Expr* D
¶void setExpr(clang::Expr* E)
void setExpr(clang::Expr* E)
Description
Set 'expr' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2961
Parameters
- clang::Expr* E
¶void setR(clang::Expr* R)
void setR(clang::Expr* R)
Description
Set 'r' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2959
Parameters
- clang::Expr* R
¶void setUpdateExpr(clang::Expr* UE)
void setUpdateExpr(clang::Expr* UE)
Description
Set helper expression of the form 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2953
Parameters
- clang::Expr* UE
¶void setV(clang::Expr* V)
void setV(clang::Expr* V)
Description
Set 'v' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2957
Parameters
- clang::Expr* V
¶void setX(clang::Expr* X)
void setX(clang::Expr* X)
Description
Set 'x' part of the associated expression/statement.
Declared at: clang/include/clang/AST/StmtOpenMP.h:2949
Parameters
- clang::Expr* X