clang 20.0.0git
Classes | Public Member Functions | List of all members
clang::SemaOpenACC::OpenACCParsedClause Class Reference

A type to represent all the data for an OpenACC Clause that has been parsed, but not yet created/semantically analyzed. More...

#include "clang/Sema/SemaOpenACC.h"

Public Member Functions

 OpenACCParsedClause (OpenACCDirectiveKind DirKind, OpenACCClauseKind ClauseKind, SourceLocation BeginLoc)
 
OpenACCDirectiveKind getDirectiveKind () const
 
OpenACCClauseKind getClauseKind () const
 
SourceLocation getBeginLoc () const
 
SourceLocation getLParenLoc () const
 
SourceLocation getEndLoc () const
 
OpenACCDefaultClauseKind getDefaultClauseKind () const
 
const ExprgetConditionExpr () const
 
ExprgetConditionExpr ()
 
unsigned getNumIntExprs () const
 
SourceLocation getQueuesLoc () const
 
ExprgetDevNumExpr () const
 
ArrayRef< Expr * > getQueueIdExprs () const
 
ArrayRef< Expr * > getIntExprs ()
 
ArrayRef< Expr * > getIntExprs () const
 
OpenACCReductionOperator getReductionOp () const
 
ArrayRef< OpenACCGangKindgetGangKinds () const
 
ArrayRef< Expr * > getVarList ()
 
ArrayRef< Expr * > getVarList () const
 
bool isReadOnly () const
 
bool isZero () const
 
bool isForce () const
 
ExprgetLoopCount () const
 
ArrayRef< DeviceTypeArgumentgetDeviceTypeArchitectures () const
 
void setLParenLoc (SourceLocation EndLoc)
 
void setEndLoc (SourceLocation EndLoc)
 
void setDefaultDetails (OpenACCDefaultClauseKind DefKind)
 
void setConditionDetails (Expr *ConditionExpr)
 
void setIntExprDetails (ArrayRef< Expr * > IntExprs)
 
void setIntExprDetails (llvm::SmallVector< Expr * > &&IntExprs)
 
void setGangDetails (ArrayRef< OpenACCGangKind > GKs, ArrayRef< Expr * > IntExprs)
 
void setGangDetails (llvm::SmallVector< OpenACCGangKind > &&GKs, llvm::SmallVector< Expr * > &&IntExprs)
 
void setVarListDetails (ArrayRef< Expr * > VarList, bool IsReadOnly, bool IsZero)
 
void setVarListDetails (llvm::SmallVector< Expr * > &&VarList, bool IsReadOnly, bool IsZero)
 
void setReductionDetails (OpenACCReductionOperator Op, llvm::SmallVector< Expr * > &&VarList)
 
void setWaitDetails (Expr *DevNum, SourceLocation QueuesLoc, llvm::SmallVector< Expr * > &&IntExprs)
 
void setDeviceTypeDetails (llvm::SmallVector< DeviceTypeArgument > &&Archs)
 
void setCollapseDetails (bool IsForce, Expr *LoopCount)
 

Detailed Description

A type to represent all the data for an OpenACC Clause that has been parsed, but not yet created/semantically analyzed.

This is effectively a discriminated union on the 'Clause Kind', with all of the individual clause details stored in a std::variant.

Definition at line 202 of file SemaOpenACC.h.

Constructor & Destructor Documentation

◆ OpenACCParsedClause()

clang::SemaOpenACC::OpenACCParsedClause::OpenACCParsedClause ( OpenACCDirectiveKind  DirKind,
OpenACCClauseKind  ClauseKind,
SourceLocation  BeginLoc 
)
inline

Definition at line 256 of file SemaOpenACC.h.

Member Function Documentation

◆ getBeginLoc()

SourceLocation clang::SemaOpenACC::OpenACCParsedClause::getBeginLoc ( ) const
inline

Definition at line 264 of file SemaOpenACC.h.

References clang::SourceRange::getBegin().

Referenced by clang::SemaOpenACC::ActOnClause().

◆ getClauseKind()

OpenACCClauseKind clang::SemaOpenACC::OpenACCParsedClause::getClauseKind ( ) const
inline

Definition at line 262 of file SemaOpenACC.h.

Referenced by clang::SemaOpenACC::ActOnClause().

◆ getConditionExpr() [1/2]

Expr * clang::SemaOpenACC::OpenACCParsedClause::getConditionExpr ( )
inline

Definition at line 280 of file SemaOpenACC.h.

References clang::If, clang::Self, and clang::Update.

◆ getConditionExpr() [2/2]

const Expr * clang::SemaOpenACC::OpenACCParsedClause::getConditionExpr ( ) const
inline

Definition at line 276 of file SemaOpenACC.h.

References getConditionExpr().

Referenced by getConditionExpr().

◆ getDefaultClauseKind()

OpenACCDefaultClauseKind clang::SemaOpenACC::OpenACCParsedClause::getDefaultClauseKind ( ) const
inline

Definition at line 270 of file SemaOpenACC.h.

References clang::Default.

◆ getDeviceTypeArchitectures()

ArrayRef< DeviceTypeArgument > clang::SemaOpenACC::OpenACCParsedClause::getDeviceTypeArchitectures ( ) const
inline

Definition at line 456 of file SemaOpenACC.h.

References clang::DeviceType, and clang::DType.

◆ getDevNumExpr()

Expr * clang::SemaOpenACC::OpenACCParsedClause::getDevNumExpr ( ) const
inline

Definition at line 328 of file SemaOpenACC.h.

References clang::Wait.

◆ getDirectiveKind()

OpenACCDirectiveKind clang::SemaOpenACC::OpenACCParsedClause::getDirectiveKind ( ) const
inline

Definition at line 260 of file SemaOpenACC.h.

Referenced by clang::SemaOpenACC::ActOnClause().

◆ getEndLoc()

SourceLocation clang::SemaOpenACC::OpenACCParsedClause::getEndLoc ( ) const
inline

Definition at line 268 of file SemaOpenACC.h.

References clang::SourceRange::getEnd().

◆ getGangKinds()

ArrayRef< OpenACCGangKind > clang::SemaOpenACC::OpenACCParsedClause::getGangKinds ( ) const
inline

Definition at line 380 of file SemaOpenACC.h.

References clang::Gang.

◆ getIntExprs() [1/2]

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getIntExprs ( )
inline

◆ getIntExprs() [2/2]

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getIntExprs ( ) const
inline

Definition at line 372 of file SemaOpenACC.h.

References getIntExprs().

◆ getLoopCount()

Expr * clang::SemaOpenACC::OpenACCParsedClause::getLoopCount ( ) const
inline

Definition at line 450 of file SemaOpenACC.h.

References clang::Collapse.

◆ getLParenLoc()

SourceLocation clang::SemaOpenACC::OpenACCParsedClause::getLParenLoc ( ) const
inline

Definition at line 266 of file SemaOpenACC.h.

◆ getNumIntExprs()

unsigned clang::SemaOpenACC::OpenACCParsedClause::getNumIntExprs ( ) const
inline

◆ getQueueIdExprs()

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getQueueIdExprs ( ) const
inline

Definition at line 338 of file SemaOpenACC.h.

References clang::Wait.

◆ getQueuesLoc()

SourceLocation clang::SemaOpenACC::OpenACCParsedClause::getQueuesLoc ( ) const
inline

Definition at line 318 of file SemaOpenACC.h.

References clang::Wait.

◆ getReductionOp()

OpenACCReductionOperator clang::SemaOpenACC::OpenACCParsedClause::getReductionOp ( ) const
inline

Definition at line 376 of file SemaOpenACC.h.

◆ getVarList() [1/2]

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getVarList ( )
inline

◆ getVarList() [2/2]

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getVarList ( ) const
inline

Definition at line 421 of file SemaOpenACC.h.

References getVarList().

◆ isForce()

bool clang::SemaOpenACC::OpenACCParsedClause::isForce ( ) const
inline

Definition at line 444 of file SemaOpenACC.h.

References clang::Collapse.

◆ isReadOnly()

bool clang::SemaOpenACC::OpenACCParsedClause::isReadOnly ( ) const
inline

Definition at line 425 of file SemaOpenACC.h.

References clang::CopyIn, clang::PCopyIn, and clang::PresentOrCopyIn.

◆ isZero()

bool clang::SemaOpenACC::OpenACCParsedClause::isZero ( ) const
inline

◆ setCollapseDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setCollapseDetails ( bool  IsForce,
Expr LoopCount 
)
inline

Definition at line 630 of file SemaOpenACC.h.

References clang::Collapse.

◆ setConditionDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setConditionDetails ( Expr ConditionExpr)
inline

◆ setDefaultDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setDefaultDetails ( OpenACCDefaultClauseKind  DefKind)
inline

Definition at line 466 of file SemaOpenACC.h.

References clang::Default.

◆ setDeviceTypeDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setDeviceTypeDetails ( llvm::SmallVector< DeviceTypeArgument > &&  Archs)
inline

Definition at line 623 of file SemaOpenACC.h.

References clang::DeviceType, and clang::DType.

◆ setEndLoc()

void clang::SemaOpenACC::OpenACCParsedClause::setEndLoc ( SourceLocation  EndLoc)
inline

Definition at line 464 of file SemaOpenACC.h.

References clang::SourceRange::setEnd().

◆ setGangDetails() [1/2]

void clang::SemaOpenACC::OpenACCParsedClause::setGangDetails ( ArrayRef< OpenACCGangKind GKs,
ArrayRef< Expr * >  IntExprs 
)
inline

Definition at line 513 of file SemaOpenACC.h.

References clang::Gang.

◆ setGangDetails() [2/2]

void clang::SemaOpenACC::OpenACCParsedClause::setGangDetails ( llvm::SmallVector< OpenACCGangKind > &&  GKs,
llvm::SmallVector< Expr * > &&  IntExprs 
)
inline

Definition at line 523 of file SemaOpenACC.h.

References clang::Gang.

◆ setIntExprDetails() [1/2]

void clang::SemaOpenACC::OpenACCParsedClause::setIntExprDetails ( ArrayRef< Expr * >  IntExprs)
inline

◆ setIntExprDetails() [2/2]

void clang::SemaOpenACC::OpenACCParsedClause::setIntExprDetails ( llvm::SmallVector< Expr * > &&  IntExprs)
inline

◆ setLParenLoc()

void clang::SemaOpenACC::OpenACCParsedClause::setLParenLoc ( SourceLocation  EndLoc)
inline

Definition at line 463 of file SemaOpenACC.h.

◆ setReductionDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setReductionDetails ( OpenACCReductionOperator  Op,
llvm::SmallVector< Expr * > &&  VarList 
)
inline

Definition at line 609 of file SemaOpenACC.h.

References clang::Reduction.

◆ setVarListDetails() [1/2]

void clang::SemaOpenACC::OpenACCParsedClause::setVarListDetails ( ArrayRef< Expr * >  VarList,
bool  IsReadOnly,
bool  IsZero 
)
inline

◆ setVarListDetails() [2/2]

void clang::SemaOpenACC::OpenACCParsedClause::setVarListDetails ( llvm::SmallVector< Expr * > &&  VarList,
bool  IsReadOnly,
bool  IsZero 
)
inline

◆ setWaitDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setWaitDetails ( Expr DevNum,
SourceLocation  QueuesLoc,
llvm::SmallVector< Expr * > &&  IntExprs 
)
inline

Definition at line 616 of file SemaOpenACC.h.

References clang::Wait.


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