class OMPParallelDirective

Declaration

class OMPParallelDirective : public OMPExecutableDirective { /* full declaration omitted */ };

Description

This represents '#pragma omp parallel' directive. In this example directive '#pragma omp parallel' has clauses 'private' with the variables 'a' and 'b' and 'reduction' with operator '+' and variables 'c' and 'd'.

Declared at: clang/include/clang/AST/StmtOpenMP.h:611

Inherits from: OMPExecutableDirective

Member Variables

private bool HasCancel = false
true if the construct has inner cancel directive.

Inherited from OMPExecutableDirective:

protected Data = nullptr

Inherited from Stmt:

protected

Method Overview

  • public static clang::OMPParallelDirective * Create(const clang::ASTContext & C, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AssociatedStmt, clang::Expr * TaskRedRef, bool HasCancel)
  • public static clang::OMPParallelDirective * CreateEmpty(const clang::ASTContext & C, unsigned int NumClauses, clang::Stmt::EmptyShell)
  • private OMPParallelDirective(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • private OMPParallelDirective()
  • public static bool classof(const clang::Stmt * T)
  • public clang::Expr * getTaskReductionRefExpr()
  • public const clang::Expr * getTaskReductionRefExpr() const
  • public bool hasCancel() const
  • private void setHasCancel(bool Has)
  • private void setTaskReductionRefExpr(clang::Expr * E)

Inherited from OMPExecutableDirective:

Inherited from Stmt:

Methods

static clang::OMPParallelDirective* Create(
    const clang::ASTContext& C,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AssociatedStmt,
    clang::Expr* TaskRedRef,
    bool HasCancel)

Description

Creates directive with a list of \a Clauses.

Declared at: clang/include/clang/AST/StmtOpenMP.h:652

Parameters

const clang::ASTContext& C
AST context.
clang::SourceLocation StartLoc
Starting location of the directive kind.
clang::SourceLocation EndLoc
Ending Location of the directive.
ArrayRef<clang::OMPClause*> Clauses
List of clauses.
clang::Stmt* AssociatedStmt
Statement associated with the directive.
clang::Expr* TaskRedRef
Task reduction special reference expression to handle taskgroup descriptor.
bool HasCancel
true if this directive has inner cancel directive.

static clang::OMPParallelDirective* CreateEmpty(
    const clang::ASTContext& C,
    unsigned int NumClauses,
    clang::Stmt::EmptyShell)

Description

Creates an empty directive with the place for \a N clauses.

Declared at: clang/include/clang/AST/StmtOpenMP.h:661

Parameters

const clang::ASTContext& C
AST context.
unsigned int NumClauses
Number of clauses.
clang::Stmt::EmptyShell

OMPParallelDirective(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Build directive with the given start and end location.

Declared at: clang/include/clang/AST/StmtOpenMP.h:622

Parameters

clang::SourceLocation StartLoc
Starting location of the directive (directive keyword).
clang::SourceLocation EndLoc
Ending Location of the directive.

OMPParallelDirective()

Description

Build an empty directive.

Declared at: clang/include/clang/AST/StmtOpenMP.h:628

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/StmtOpenMP.h:675

Parameters

const clang::Stmt* T

clang::Expr* getTaskReductionRefExpr()

Description

Returns special task reduction reference expression.

Declared at: clang/include/clang/AST/StmtOpenMP.h:665

const clang::Expr* getTaskReductionRefExpr() const

Declared at: clang/include/clang/AST/StmtOpenMP.h:668

bool hasCancel() const

Description

Return true if current directive has inner cancel directive.

Declared at: clang/include/clang/AST/StmtOpenMP.h:673

void setHasCancel(bool Has)

Description

Set cancel state.

Declared at: clang/include/clang/AST/StmtOpenMP.h:637

Parameters

bool Has

void setTaskReductionRefExpr(clang::Expr* E)

Description

Sets special task reduction descriptor.

Declared at: clang/include/clang/AST/StmtOpenMP.h:634

Parameters

clang::Expr* E