clang 22.0.0git
clang::OMPAllocateClause Class Referencefinal

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

#include "clang/AST/OpenMPClause.h"

Inheritance diagram for clang::OMPAllocateClause:
[legend]

Public Member Functions

ExprgetAllocator () const
 Returns the allocator expression or nullptr, if no allocator is specified.
ExprgetAlignment () const
 Returns the alignment expression or nullptr, if no alignment specified.
OpenMPAllocateClauseModifier getAllocatorModifier () const
 Return 'allocate' modifier.
OpenMPAllocateClauseModifier getFirstAllocateModifier () const
 Get the first modifier of the clause.
SourceLocation getFirstAllocateModifierLoc () const
 Get location of first modifier of the clause.
OpenMPAllocateClauseModifier getSecondAllocateModifier () const
 Get the second modifier of the clause.
SourceLocation getSecondAllocateModifierLoc () const
 Get location of second modifier of the clause.
SourceLocation getColonLoc () const
 Returns the location of the ':' delimiter.
SourceLocation getAllocatorModifierLoc () const
 Return the location of the modifier.
child_range children ()
const_child_range children () const
child_range used_children ()
const_child_range used_children () const
Public Member Functions inherited from clang::OMPVarListClause< OMPAllocateClause >
unsigned varlist_size () const
bool varlist_empty () const
varlist_range varlist ()
varlist_iterator varlist_begin ()
varlist_iterator varlist_end ()
void setLParenLoc (SourceLocation Loc)
 Sets the location of '('.
SourceLocation getLParenLoc () const
 Returns the location of '('.
Public Member Functions inherited from clang::OMPClause
SourceLocation getBeginLoc () const
 Returns the starting location of the clause.
SourceLocation getEndLoc () const
 Returns the ending location of the clause.
void setLocStart (SourceLocation Loc)
 Sets the starting location of the clause.
void setLocEnd (SourceLocation Loc)
 Sets the ending location of the clause.
OpenMPClauseKind getClauseKind () const
 Returns kind of OpenMP clause (private, shared, reduction, etc.).
bool isImplicit () const
child_range children ()
const_child_range children () const
child_range used_children ()
 Get the iterator range for the expressions used in the clauses.
const_child_range used_children () const

Static Public Member Functions

static OMPAllocateClauseCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, Expr *Allocator, Expr *Alignment, SourceLocation ColonLoc, OpenMPAllocateClauseModifier Modifier1, SourceLocation Modifier1Loc, OpenMPAllocateClauseModifier Modifier2, SourceLocation Modifier2Loc, SourceLocation EndLoc, ArrayRef< Expr * > VL)
 Creates clause with a list of variables VL.
static OMPAllocateClauseCreateEmpty (const ASTContext &C, unsigned N)
 Creates an empty clause with the place for N variables.
static bool classof (const OMPClause *T)
Static Public Member Functions inherited from clang::OMPClause
static bool classof (const OMPClause *)

Friends

class OMPClauseReader

Additional Inherited Members

Public Types inherited from clang::OMPVarListClause< OMPAllocateClause >
using varlist_iterator
using varlist_const_iterator
using varlist_range
using varlist_const_range
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>
Protected Member Functions inherited from clang::OMPVarListClause< OMPAllocateClause >
 OMPVarListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N)
 Build a clause with N variables.
MutableArrayRef< Expr * > getVarRefs ()
 Fetches list of variables associated with this clause.
void setVarRefs (ArrayRef< Expr * > VL)
 Sets the list of variables for this clause.
Protected Member Functions inherited from clang::OMPClause
 OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc)

Detailed Description

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

#pragma omp parallel private(a) allocate(omp_default_mem_alloc :a)

In this example directive '#pragma omp parallel' has clause 'private' and clause 'allocate' for the variable 'a', which specifies an explicit memory allocator.

Definition at line 485 of file OpenMPClause.h.

Member Function Documentation

◆ children() [1/2]

child_range clang::OMPAllocateClause::children ( )
inline

◆ children() [2/2]

const_child_range clang::OMPAllocateClause::children ( ) const
inline

Definition at line 652 of file OpenMPClause.h.

References Children, and children().

◆ classof()

bool clang::OMPAllocateClause::classof ( const OMPClause * T)
inlinestatic

Definition at line 664 of file OpenMPClause.h.

References clang::T.

Referenced by checkAllocateClauses().

◆ Create()

OMPAllocateClause * OMPAllocateClause::Create ( const ASTContext & C,
SourceLocation StartLoc,
SourceLocation LParenLoc,
Expr * Allocator,
Expr * Alignment,
SourceLocation ColonLoc,
OpenMPAllocateClauseModifier Modifier1,
SourceLocation Modifier1Loc,
OpenMPAllocateClauseModifier Modifier2,
SourceLocation Modifier2Loc,
SourceLocation EndLoc,
ArrayRef< Expr * > VL )
static

Creates clause with a list of variables VL.

Parameters
CAST context.
StartLocStarting location of the clause.
LParenLocLocation of '('.
AllocatorAllocator expression.
ColonLocLocation of ':' delimiter.
AllocatorModifierAllocator modifier.
SourceLocationAllocator modifier location.
EndLocEnding location of the clause.
VLList of references to the variables.

Definition at line 1024 of file OpenMPClause.cpp.

References clang::C.

Referenced by clang::SemaOpenMP::ActOnOpenMPAllocateClause().

◆ CreateEmpty()

OMPAllocateClause * OMPAllocateClause::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 1041 of file OpenMPClause.cpp.

References clang::C.

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

◆ getAlignment()

Expr * clang::OMPAllocateClause::getAlignment ( ) const
inline

Returns the alignment expression or nullptr, if no alignment specified.

Definition at line 607 of file OpenMPClause.h.

◆ getAllocator()

Expr * clang::OMPAllocateClause::getAllocator ( ) const
inline

Returns the allocator expression or nullptr, if no allocator is specified.

Definition at line 604 of file OpenMPClause.h.

◆ getAllocatorModifier()

OpenMPAllocateClauseModifier clang::OMPAllocateClause::getAllocatorModifier ( ) const
inline

Return 'allocate' modifier.

Definition at line 610 of file OpenMPClause.h.

◆ getAllocatorModifierLoc()

SourceLocation clang::OMPAllocateClause::getAllocatorModifierLoc ( ) const
inline

Return the location of the modifier.

Definition at line 637 of file OpenMPClause.h.

◆ getColonLoc()

SourceLocation clang::OMPAllocateClause::getColonLoc ( ) const
inline

Returns the location of the ':' delimiter.

Definition at line 635 of file OpenMPClause.h.

◆ getFirstAllocateModifier()

OpenMPAllocateClauseModifier clang::OMPAllocateClause::getFirstAllocateModifier ( ) const
inline

Get the first modifier of the clause.

Definition at line 615 of file OpenMPClause.h.

◆ getFirstAllocateModifierLoc()

SourceLocation clang::OMPAllocateClause::getFirstAllocateModifierLoc ( ) const
inline

Get location of first modifier of the clause.

Definition at line 620 of file OpenMPClause.h.

◆ getSecondAllocateModifier()

OpenMPAllocateClauseModifier clang::OMPAllocateClause::getSecondAllocateModifier ( ) const
inline

Get the second modifier of the clause.

Definition at line 625 of file OpenMPClause.h.

◆ getSecondAllocateModifierLoc()

SourceLocation clang::OMPAllocateClause::getSecondAllocateModifierLoc ( ) const
inline

Get location of second modifier of the clause.

Definition at line 630 of file OpenMPClause.h.

◆ used_children() [1/2]

child_range clang::OMPAllocateClause::used_children ( )
inline

Definition at line 657 of file OpenMPClause.h.

◆ used_children() [2/2]

const_child_range clang::OMPAllocateClause::used_children ( ) const
inline

Definition at line 660 of file OpenMPClause.h.

◆ OMPClauseReader

friend class OMPClauseReader
friend

Definition at line 488 of file OpenMPClause.h.

References clang::OMPC_ALLOCATE_unknown, and OMPClauseReader.

Referenced by OMPClauseReader.


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