clang 8.0.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 "clang/AST/OpenMPClause.h"`

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

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

## 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 | getBeginLoc () const
| Returns the starting location of the clause. More...
SourceLocation | getEndLoc () 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 Stmt * | getPreInitStmt () const
| Get pre-initialization statement for the clause. More...
Stmt * | getPreInitStmt ()
| Get pre-initialization statement for the clause. More...
OpenMPDirectiveKind | getCaptureRegion () const
| Get capture region for the stmt in the clause. More...

## Static Public Member Functions
static OMPFirstprivateClause * | Create (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 OMPFirstprivateClause * | CreateEmpty (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 OMPClauseWithPreInit * | get (OMPClause *C)
static const OMPClauseWithPreInit * | get (const OMPClause *C)

## Friends
class | OMPClauseReader

## Additional Inherited Members
Protected Member Functions inherited from clang::OMPVarListClause< OMPFirstprivateClause >
| OMPVarListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N)
| Build a clause with N variables. More...
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...
Protected Member Functions inherited from clang::OMPClause
| OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc)
Protected Member Functions inherited from clang::OMPClauseWithPreInit
| OMPClauseWithPreInit (const OMPClause *This)
void | setPreInitStmt (Stmt *S, OpenMPDirectiveKind ThisRegion=OMPD_unknown)
| Set pre-initialization statement for the clause. More...

## 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 1535 of file OpenMPClause.h.

## Member Typedef Documentation

## ◆ inits_const_iterator

using clang::OMPFirstprivateClause::inits_const_iterator = ArrayRef<const Expr *>::iterator

Definition at line 1633 of file OpenMPClause.h.

## ◆ inits_const_range

using clang::OMPFirstprivateClause::inits_const_range = llvm::iterator_range<inits_const_iterator>

Definition at line 1635 of file OpenMPClause.h.

## ◆ inits_iterator

using clang::OMPFirstprivateClause::inits_iterator = MutableArrayRef<Expr *>::iterator

Definition at line 1632 of file OpenMPClause.h.

## ◆ inits_range

using clang::OMPFirstprivateClause::inits_range = llvm::iterator_range<inits_iterator>

Definition at line 1634 of file OpenMPClause.h.

## ◆ private_copies_const_iterator

using clang::OMPFirstprivateClause::private_copies_const_iterator = ArrayRef<const Expr *>::iterator

Definition at line 1618 of file OpenMPClause.h.

## ◆ private_copies_const_range

using clang::OMPFirstprivateClause::private_copies_const_range = llvm::iterator_range<private_copies_const_iterator>

Definition at line 1621 of file OpenMPClause.h.

## ◆ private_copies_iterator

using clang::OMPFirstprivateClause::private_copies_iterator = MutableArrayRef<Expr *>::iterator

Definition at line 1617 of file OpenMPClause.h.

## ◆ private_copies_range

using clang::OMPFirstprivateClause::private_copies_range = llvm::iterator_range<private_copies_iterator>

Definition at line 1619 of file OpenMPClause.h.

## Member Function Documentation

## ◆ children()

child_range clang::OMPFirstprivateClause::children | ( |  | ) |
| inline

Definition at line 1644 of file OpenMPClause.h.

## ◆ classof()

static bool clang::OMPFirstprivateClause::classof | ( | const OMPClause * | T | ) |
| inline static

Definition at line 1649 of file OpenMPClause.h.

References clang::OMPClause::getClauseKind().

## ◆ Create()

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

  C | AST context.
  StartLoc | Starting location of the clause.
  LParenLoc | Location of '('.
  EndLoc | Ending location of the clause.
  VL | List of references to the original variables.
  PrivateVL | List of references to private copies with initializers.
  InitVL | List of references to auto generated variables used for initialization of a single array element. Used if firstprivate variable is of array type.
  PreInit | Statement that must be executed before entering the OpenMP region with this clause.

Definition at line 284 of file OpenMPClause.cpp.

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

## ◆ CreateEmpty()

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

Creates an empty clause with the place for N variables.

Parameters

  C | AST context.
  N | The number of variables.

Definition at line 298 of file OpenMPClause.cpp.

References clang::ASTContext::Allocate().

## ◆ inits() [1/2]

inits_range clang::OMPFirstprivateClause::inits | ( |  | ) |
| inline

Definition at line 1637 of file OpenMPClause.h.

References clang::getInits().

Referenced by clang::OMPClauseWriter::VisitOMPClauseWithPostUpdate().

## ◆ inits() [2/2]

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

Definition at line 1640 of file OpenMPClause.h.

References clang::getInits().

## ◆ private_copies() [1/2]

private_copies_range clang::OMPFirstprivateClause::private_copies | ( |  | ) |
| inline

Definition at line 1623 of file OpenMPClause.h.

Referenced by clang::OMPClauseWriter::VisitOMPClauseWithPostUpdate().

## ◆ private_copies() [2/2]

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

Definition at line 1627 of file OpenMPClause.h.

## Friends And Related Function Documentation

## ◆ OMPClauseReader

friend class OMPClauseReader
| friend

Definition at line 1539 of file OpenMPClause.h.

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

- include/clang/AST/OpenMPClause.h
- lib/AST/OpenMPClause.cpp