clang  3.9.0
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::OMPFirstprivateClause Class Referencefinal

This represents clause 'firstprivate' in the '#pragma omp ...' directives. More...

#include <OpenMPClause.h>

Inheritance diagram for clang::OMPFirstprivateClause:
[legend]
Collaboration diagram for clang::OMPFirstprivateClause:
[legend]

Public Types

typedef MutableArrayRef< Expr * >
::iterator 
private_copies_iterator
 
typedef ArrayRef< const Expr * >
::iterator 
private_copies_const_iterator
 
typedef llvm::iterator_range
< private_copies_iterator
private_copies_range
 
typedef llvm::iterator_range
< private_copies_const_iterator
private_copies_const_range
 
typedef MutableArrayRef< Expr * >
::iterator 
inits_iterator
 
typedef ArrayRef< const Expr * >
::iterator 
inits_const_iterator
 
typedef llvm::iterator_range
< inits_iterator
inits_range
 
typedef llvm::iterator_range
< inits_const_iterator
inits_const_range
 
- Public Types inherited from clang::OMPVarListClause< OMPFirstprivateClause >
typedef MutableArrayRef< Expr * >
::iterator 
varlist_iterator
 
typedef ArrayRef< const Expr * >
::iterator 
varlist_const_iterator
 
typedef llvm::iterator_range
< varlist_iterator
varlist_range
 
typedef llvm::iterator_range
< varlist_const_iterator
varlist_const_range
 
- Public Types inherited from clang::OMPClause
typedef StmtIterator child_iterator
 
typedef ConstStmtIterator const_child_iterator
 
typedef llvm::iterator_range
< child_iterator
child_range
 
typedef llvm::iterator_range
< const_child_iterator
const_child_range
 

Public Member Functions

private_copies_range private_copies ()
 
private_copies_const_range private_copies () const
 
inits_range inits ()
 
inits_const_range inits () const
 
child_range children ()
 
- Public Member Functions inherited from clang::OMPVarListClause< OMPFirstprivateClause >
ArrayRef< const Expr * > getVarRefs () const
 Fetches list of all variables in the clause. More...
 
unsigned varlist_size () const
 
bool varlist_empty () const
 
varlist_range varlists ()
 
varlist_const_range varlists () const
 
varlist_iterator varlist_begin ()
 
varlist_const_iterator varlist_begin () const
 
varlist_iterator varlist_end ()
 
varlist_const_iterator varlist_end () const
 
void setLParenLoc (SourceLocation Loc)
 Sets the location of '('. More...
 
SourceLocation getLParenLoc () const
 Returns the location of '('. More...
 
- Public Member Functions inherited from clang::OMPClause
SourceLocation getLocStart () const
 Returns the starting location of the clause. More...
 
SourceLocation getLocEnd () const
 Returns the ending location of the clause. More...
 
void setLocStart (SourceLocation Loc)
 Sets the starting location of the clause. More...
 
void setLocEnd (SourceLocation Loc)
 Sets the ending location of the clause. More...
 
OpenMPClauseKind getClauseKind () const
 Returns kind of OpenMP clause (private, shared, reduction, etc.). More...
 
bool isImplicit () const
 
child_range children ()
 
const_child_range children () const
 
- Public Member Functions inherited from clang::OMPClauseWithPreInit
const StmtgetPreInitStmt () const
 Get pre-initialization statement for the clause. More...
 
StmtgetPreInitStmt ()
 Get pre-initialization statement for the clause. More...
 

Static Public Member Functions

static OMPFirstprivateClauseCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, ArrayRef< Expr * > VL, ArrayRef< Expr * > PrivateVL, ArrayRef< Expr * > InitVL, Stmt *PreInit)
 Creates clause with a list of variables VL. More...
 
static OMPFirstprivateClauseCreateEmpty (const ASTContext &C, unsigned N)
 Creates an empty clause with the place for N variables. More...
 
static bool classof (const OMPClause *T)
 
- Static Public Member Functions inherited from clang::OMPClause
static bool classof (const OMPClause *)
 
- Static Public Member Functions inherited from clang::OMPClauseWithPreInit
static OMPClauseWithPreInitget (OMPClause *C)
 
static const OMPClauseWithPreInitget (const OMPClause *C)
 

Friends

class OMPClauseReader
 

Additional Inherited Members

- Protected Member Functions inherited from clang::OMPVarListClause< OMPFirstprivateClause >
MutableArrayRef< Expr * > getVarRefs ()
 Fetches list of variables associated with this clause. More...
 
void setVarRefs (ArrayRef< Expr * > VL)
 Sets the list of variables for this clause. More...
 
 OMPVarListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N)
 Build a clause with N variables. More...
 
- Protected Member Functions inherited from clang::OMPClause
 OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc)
 
- Protected Member Functions inherited from clang::OMPClauseWithPreInit
void setPreInitStmt (Stmt *S)
 Set pre-initialization statement for the clause. More...
 
 OMPClauseWithPreInit (const OMPClause *This)
 

Detailed Description

This represents clause 'firstprivate' in the '#pragma omp ...' directives.

#pragma omp parallel firstprivate(a,b)

In this example directive '#pragma omp parallel' has clause 'firstprivate' with the variables 'a' and 'b'.

Definition at line 1277 of file OpenMPClause.h.

Member Typedef Documentation

Definition at line 1377 of file OpenMPClause.h.

Definition at line 1379 of file OpenMPClause.h.

Definition at line 1376 of file OpenMPClause.h.

Definition at line 1378 of file OpenMPClause.h.

Definition at line 1362 of file OpenMPClause.h.

Definition at line 1365 of file OpenMPClause.h.

Definition at line 1361 of file OpenMPClause.h.

Definition at line 1363 of file OpenMPClause.h.

Member Function Documentation

child_range clang::OMPFirstprivateClause::children ( )
inline
static bool clang::OMPFirstprivateClause::classof ( const OMPClause T)
inlinestatic

Definition at line 1393 of file OpenMPClause.h.

References clang::OMPClause::getClauseKind().

OMPFirstprivateClause * OMPFirstprivateClause::Create ( const ASTContext C,
SourceLocation  StartLoc,
SourceLocation  LParenLoc,
SourceLocation  EndLoc,
ArrayRef< Expr * >  VL,
ArrayRef< Expr * >  PrivateVL,
ArrayRef< Expr * >  InitVL,
Stmt PreInit 
)
static

Creates clause with a list of variables VL.

Parameters
CAST context.
StartLocStarting location of the clause.
LParenLocLocation of '('.
EndLocEnding location of the clause.
VLList of references to the original variables.
PrivateVLList of references to private copies with initializers.
InitVLList of references to auto generated variables used for initialization of a single array element. Used if firstprivate variable is of array type.
PreInitStatement that must be executed before entering the OpenMP region with this clause.

Definition at line 203 of file OpenMPClause.cpp.

References clang::ASTContext::Allocate(), clang::OMPClauseWithPreInit::setPreInitStmt(), and clang::OMPVarListClause< T >::setVarRefs().

OMPFirstprivateClause * OMPFirstprivateClause::CreateEmpty ( const ASTContext C,
unsigned  N 
)
static

Creates an empty clause with the place for N variables.

Parameters
CAST context.
NThe number of variables.

Definition at line 217 of file OpenMPClause.cpp.

References clang::ASTContext::Allocate().

Referenced by clang::OMPClauseReader::readClause().

inits_range clang::OMPFirstprivateClause::inits ( )
inline

Definition at line 1381 of file OpenMPClause.h.

References clang::begin(), clang::end(), and clang::getInits().

inits_const_range clang::OMPFirstprivateClause::inits ( ) const
inline

Definition at line 1384 of file OpenMPClause.h.

References clang::begin(), clang::end(), and clang::getInits().

private_copies_range clang::OMPFirstprivateClause::private_copies ( )
inline

Definition at line 1367 of file OpenMPClause.h.

References clang::begin(), and clang::end().

private_copies_const_range clang::OMPFirstprivateClause::private_copies ( ) const
inline

Definition at line 1371 of file OpenMPClause.h.

References clang::begin(), and clang::end().

Friends And Related Function Documentation

friend class OMPClauseReader
friend

Definition at line 1283 of file OpenMPClause.h.


The documentation for this class was generated from the following files: