clang 10.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:
[legend]
Collaboration diagram for clang::OMPIfClause:
[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...
Expr * | getCondition () 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 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 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
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 425 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.
  Cond | Condition of the clause.
  HelperCond | Helper condition for the clause.
  CaptureRegion | Innermost OpenMP region where expressions in this clause must be captured.
  StartLoc | Starting location of the clause.
  LParenLoc | Location of '('.
  NameModifierLoc | Location of directive name modifier.
  ColonLoc | [OpenMP 4.1] Location of ':'.
  EndLoc | Ending location of the clause.

Definition at line 468 of file OpenMPClause.h.

## ◆ OMPIfClause() [2/2]

clang::OMPIfClause::OMPIfClause | ( |  | ) |
| inline

Build an empty clause.

Definition at line 479 of file OpenMPClause.h.

## Member Function Documentation

## ◆ children() [1/2]

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

Definition at line 501 of file OpenMPClause.h.

## ◆ children() [2/2]

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

Definition at line 503 of file OpenMPClause.h.

References clang::OMPClause::used_children().

## ◆ classof()

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

Definition at line 513 of file OpenMPClause.h.

References clang::OMPClause::getClauseKind().

## ◆ getColonLoc()

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

Return the location of ':'.

Definition at line 490 of file OpenMPClause.h.

References ColonLoc.

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

## ◆ getCondition()

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

Returns condition.

Definition at line 493 of file OpenMPClause.h.

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

## ◆ getLParenLoc()

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

Returns the location of '('.

Definition at line 487 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 496 of file OpenMPClause.h.

Referenced by OMPNontemporalClause::setPrivateRefs(), 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 499 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 484 of file OpenMPClause.h.

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

## ◆ used_children() [1/2]

OMPClause::child_range OMPIfClause::used_children | ( |  | ) |

Definition at line 238 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 508 of file OpenMPClause.h.

References clang::OMPClause::used_children().

## Friends And Related Function Documentation

## ◆ OMPClauseReader

friend class OMPClauseReader
| friend

Definition at line 426 of file OpenMPClause.h.

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

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