clang  11.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::OMPIfClause Class Reference

This represents 'if' clause in the '#pragma omp ...' directive. More...

#include "clang/AST/OpenMPClause.h"

Inheritance diagram for clang::OMPIfClause:
Inheritance graph
[legend]
Collaboration diagram for clang::OMPIfClause:
Collaboration graph
[legend]

Public Member Functions

 OMPIfClause (OpenMPDirectiveKind NameModifier, Expr *Cond, Stmt *HelperCond, OpenMPDirectiveKind CaptureRegion, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation NameModifierLoc, SourceLocation ColonLoc, SourceLocation EndLoc)
 Build 'if' clause with condition Cond. More...
 
 OMPIfClause ()
 Build an empty clause. More...
 
void setLParenLoc (SourceLocation Loc)
 Sets the location of '('. More...
 
SourceLocation getLParenLoc () const
 Returns the location of '('. More...
 
SourceLocation getColonLoc () const
 Return the location of ':'. More...
 
ExprgetCondition () const
 Returns condition. More...
 
OpenMPDirectiveKind getNameModifier () const
 Return directive name modifier associated with the clause. More...
 
SourceLocation getNameModifierLoc () const
 Return the location of directive name modifier. More...
 
child_range children ()
 
const_child_range children () const
 
child_range used_children ()
 
const_child_range used_children () const
 
- 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
 
child_range used_children ()
 Get the iterator range for the expressions used in the clauses. More...
 
const_child_range used_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...
 
OpenMPDirectiveKind getCaptureRegion () const
 Get capture region for the stmt in the clause. More...
 

Static Public Member Functions

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

- 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::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=llvm::omp::OMPD_unknown)
 Set pre-initialization statement for the clause. More...
 

Detailed Description

This represents 'if' clause in the '#pragma omp ...' directive.

#pragma omp parallel if(parallel:a > 5)

In this example directive '#pragma omp parallel' has simple 'if' clause with condition 'a > 5' and directive name modifier 'parallel'.

Definition at line 427 of file OpenMPClause.h.

Constructor & Destructor Documentation

◆ OMPIfClause() [1/2]

clang::OMPIfClause::OMPIfClause ( OpenMPDirectiveKind  NameModifier,
Expr Cond,
Stmt HelperCond,
OpenMPDirectiveKind  CaptureRegion,
SourceLocation  StartLoc,
SourceLocation  LParenLoc,
SourceLocation  NameModifierLoc,
SourceLocation  ColonLoc,
SourceLocation  EndLoc 
)
inline

Build 'if' clause with condition Cond.

Parameters
NameModifier[OpenMP 4.1] Directive name modifier of clause.
CondCondition of the clause.
HelperCondHelper condition for the clause.
CaptureRegionInnermost OpenMP region where expressions in this clause must be captured.
StartLocStarting location of the clause.
LParenLocLocation of '('.
NameModifierLocLocation of directive name modifier.
ColonLoc[OpenMP 4.1] Location of ':'.
EndLocEnding location of the clause.

Definition at line 470 of file OpenMPClause.h.

◆ OMPIfClause() [2/2]

clang::OMPIfClause::OMPIfClause ( )
inline

Build an empty clause.

Definition at line 482 of file OpenMPClause.h.

Member Function Documentation

◆ children() [1/2]

child_range clang::OMPIfClause::children ( )
inline

Definition at line 504 of file OpenMPClause.h.

◆ children() [2/2]

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

Definition at line 506 of file OpenMPClause.h.

References clang::OMPClause::used_children().

◆ classof()

static bool clang::OMPIfClause::classof ( const OMPClause T)
inlinestatic

Definition at line 516 of file OpenMPClause.h.

References clang::OMPClause::getClauseKind().

◆ getColonLoc()

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

Return the location of ':'.

Definition at line 493 of file OpenMPClause.h.

References ColonLoc.

Referenced by clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), and clang::ASTRecordWriter::writeOMPClause().

◆ getCondition()

Expr* clang::OMPIfClause::getCondition ( ) const
inline

◆ getLParenLoc()

SourceLocation clang::OMPIfClause::getLParenLoc ( ) const
inline

Returns the location of '('.

Definition at line 490 of file OpenMPClause.h.

Referenced by clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), and clang::ASTRecordWriter::writeOMPClause().

◆ getNameModifier()

OpenMPDirectiveKind clang::OMPIfClause::getNameModifier ( ) const
inline

Return directive name modifier associated with the clause.

Definition at line 499 of file OpenMPClause.h.

Referenced by OMPAffinityClause::CreateEmpty(), clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), and clang::ASTRecordWriter::writeOMPClause().

◆ getNameModifierLoc()

SourceLocation clang::OMPIfClause::getNameModifierLoc ( ) const
inline

Return the location of directive name modifier.

Definition at line 502 of file OpenMPClause.h.

Referenced by clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), and clang::ASTRecordWriter::writeOMPClause().

◆ setLParenLoc()

void clang::OMPIfClause::setLParenLoc ( SourceLocation  Loc)
inline

Sets the location of '('.

Definition at line 487 of file OpenMPClause.h.

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

◆ used_children() [1/2]

OMPClause::child_range OMPIfClause::used_children ( )

Definition at line 267 of file OpenMPClause.cpp.

References clang::C, and getAddrOfExprAsWritten().

◆ used_children() [2/2]

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

Definition at line 511 of file OpenMPClause.h.

References clang::OMPClause::used_children().

Friends And Related Function Documentation

◆ OMPClauseReader

friend class OMPClauseReader
friend

Definition at line 428 of file OpenMPClause.h.


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