clang
3.7.0
|
This represents '#pragma omp flush' directive. More...
#include <StmtOpenMP.h>
Static Public Member Functions | |
static OMPFlushDirective * | Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef< OMPClause * > Clauses) |
Creates directive with a list of Clauses. More... | |
static OMPFlushDirective * | CreateEmpty (const ASTContext &C, unsigned NumClauses, EmptyShell) |
Creates an empty directive with the place for NumClauses clauses. More... | |
static bool | classof (const Stmt *T) |
![]() | |
static bool | classof (const Stmt *S) |
Friends | |
class | ASTStmtReader |
Additional Inherited Members | |
![]() | |
template<typename Fn > | |
filtered_clause_iterator< Fn > | getFilteredClauses (Fn &&fn) const |
filtered_clause_iterator < ClauseKindFilter > | getClausesOfKind (OpenMPClauseKind Kind) const |
const OMPClause * | getSingleClause (OpenMPClauseKind K) const |
Gets a single clause of the specified kind K 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 kind K is associated with the directive. More... | |
SourceLocation | getLocStart () const |
Returns starting location of directive kind. More... | |
SourceLocation | getLocEnd () const |
Returns ending location of directive. More... | |
void | setLocStart (SourceLocation Loc) |
Set starting location of directive kind. More... | |
void | setLocEnd (SourceLocation Loc) |
Set ending location of directive. More... | |
unsigned | getNumClauses () const |
Get number of clauses. More... | |
OMPClause * | getClause (unsigned i) const |
Returns specified clause. More... | |
bool | hasAssociatedStmt () const |
Returns true if directive has associated statement. More... | |
Stmt * | getAssociatedStmt () const |
Returns statement associated with the directive. More... | |
OpenMPDirectiveKind | getDirectiveKind () const |
child_range | children () |
ArrayRef< OMPClause * > | clauses () |
ArrayRef< OMPClause * > | clauses () const |
![]() | |
template<typename T > | |
OMPExecutableDirective (const T *, StmtClass SC, OpenMPDirectiveKind K, SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses, unsigned NumChildren) | |
Build instance of directive of class K. More... | |
void | setClauses (ArrayRef< OMPClause * > Clauses) |
Sets the list of variables for this clause. More... | |
void | setAssociatedStmt (Stmt *S) |
Set the associated statement for the directive. More... | |
This represents '#pragma omp flush' directive.
In this example directive '#pragma omp flush' has 2 arguments- variables 'a' and 'b'. 'omp flush' directive does not have clauses but have an optional list of variables to flush. This list of variables is stored within some fake clause FlushClause.
Definition at line 1534 of file StmtOpenMP.h.
Definition at line 1578 of file StmtOpenMP.h.
|
static |
Creates directive with a list of Clauses.
C | AST context. |
StartLoc | Starting location of the directive kind. |
EndLoc | Ending Location of the directive. |
Clauses | List of clauses (only single OMPFlushClause clause is allowed). |
Definition at line 2142 of file Stmt.cpp.
References clang::ASTContext::Allocate(), and clang::OMPExecutableDirective::setClauses().
Referenced by clang::Sema::ActOnOpenMPFlushDirective().
|
static |
Creates an empty directive with the place for NumClauses clauses.
C | AST context. |
NumClauses | Number of clauses. |
Definition at line 2155 of file Stmt.cpp.
References clang::ASTContext::Allocate().
|
friend |
Definition at line 1535 of file StmtOpenMP.h.