class OMPExecutableDirective

Declaration

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

Description

This is a basic class for representing single OpenMP executable directive.

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

Inherits from: Stmt

Member Variables

private clang::OpenMPDirectiveKind Kind = llvm::omp::OMPD_unknown
Kind of the directive.
private clang::SourceLocation StartLoc
Starting location of the directive (directive keyword).
private clang::SourceLocation EndLoc
Ending location of the directive.
protected clang::OMPChildren* Data = nullptr
Data, associated with the directive.

Inherited from Stmt:

protected

Method Overview

  • protected OMPExecutableDirective(clang::Stmt::StmtClass SC, clang::OpenMPDirectiveKind K, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::Stmt::const_child_range children() const
  • public clang::Stmt::child_range children()
  • public static bool classof(const clang::Stmt * S)
  • public ArrayRef<clang::OMPClause *> clauses() const
  • protected template <typename T, typename... Params>static T * createDirective(const clang::ASTContext & C, ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AssociatedStmt, unsigned int NumChildren, Params &&... P)
  • protected template <typename T, typename... Params>static T * createEmptyDirective(const clang::ASTContext & C, unsigned int NumClauses, bool HasAssociatedStmt, unsigned int NumChildren, Params &&... P)
  • protected template <typename T>static T * createEmptyDirective(const clang::ASTContext & C, unsigned int NumClauses, bool HasAssociatedStmt = false, unsigned int NumChildren = 0)
  • public const clang::Stmt * getAssociatedStmt() const
  • public clang::Stmt * getAssociatedStmt()
  • public clang::SourceLocation getBeginLoc() const
  • public const clang::CapturedStmt * getCapturedStmt(clang::OpenMPDirectiveKind RegionKind) const
  • public clang::OMPClause * getClause(unsigned int I) const
  • private MutableArrayRef<clang::OMPClause *> getClauses()
  • public template <typename SpecificClause>llvm::iterator_range<specific_clause_iterator<SpecificClause>> getClausesOfKind() const
  • public template <typename SpecificClause>static llvm::iterator_range<specific_clause_iterator<SpecificClause>> getClausesOfKind(ArrayRef<clang::OMPClause *> Clauses)
  • public clang::OpenMPDirectiveKind getDirectiveKind() const
  • public clang::SourceLocation getEndLoc() const
  • public const clang::CapturedStmt * getInnermostCapturedStmt() const
  • public clang::CapturedStmt * getInnermostCapturedStmt()
  • public unsigned int getNumClauses() const
  • public const clang::Stmt * getRawStmt() const
  • public clang::Stmt * getRawStmt()
  • public template <typename SpecificClause>const SpecificClause * getSingleClause() const
  • public template <typename SpecificClause>static const SpecificClause * getSingleClause(ArrayRef<clang::OMPClause *> Clauses)
  • public clang::Stmt * getStructuredBlock()
  • public const clang::Stmt * getStructuredBlock() const
  • public bool hasAssociatedStmt() const
  • public template <typename SpecificClause>bool hasClausesOfKind() const
  • public bool isStandaloneDirective() const
  • public void setLocEnd(clang::SourceLocation Loc)
  • public void setLocStart(clang::SourceLocation Loc)
  • public static llvm::iterator_range<used_clauses_child_iterator> used_clauses_children(ArrayRef<clang::OMPClause *> Clauses)

Inherited from Stmt:

Methods

OMPExecutableDirective(
    clang::Stmt::StmtClass SC,
    clang::OpenMPDirectiveKind K,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Build instance of directive of class \a K.

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

Parameters

clang::Stmt::StmtClass SC
Statement class.
clang::OpenMPDirectiveKind K
Kind of OpenMP directive.
clang::SourceLocation StartLoc
Starting location of the directive (directive keyword).
clang::SourceLocation EndLoc
Ending location of the directive.

clang::Stmt::const_child_range children() const

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

clang::Stmt::child_range children()

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

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

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

Parameters

const clang::Stmt* S

ArrayRef<clang::OMPClause*> clauses() const

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

template <typename T, typename... Params>
static T* createDirective(
    const clang::ASTContext& C,
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AssociatedStmt,
    unsigned int NumChildren,
    Params&&... P)

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

Templates

T
Params

Parameters

const clang::ASTContext& C
ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AssociatedStmt
unsigned int NumChildren
Params&&... P

template <typename T, typename... Params>
static T* createEmptyDirective(
    const clang::ASTContext& C,
    unsigned int NumClauses,
    bool HasAssociatedStmt,
    unsigned int NumChildren,
    Params&&... P)

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

Templates

T
Params

Parameters

const clang::ASTContext& C
unsigned int NumClauses
bool HasAssociatedStmt
unsigned int NumChildren
Params&&... P

template <typename T>
static T* createEmptyDirective(
    const clang::ASTContext& C,
    unsigned int NumClauses,
    bool HasAssociatedStmt = false,
    unsigned int NumChildren = 0)

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

Templates

T

Parameters

const clang::ASTContext& C
unsigned int NumClauses
bool HasAssociatedStmt = false
unsigned int NumChildren = 0

const clang::Stmt* getAssociatedStmt() const

Description

Returns statement associated with the directive.

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

clang::Stmt* getAssociatedStmt()

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

clang::SourceLocation getBeginLoc() const

Description

Returns starting location of directive kind.

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

const clang::CapturedStmt* getCapturedStmt(
    clang::OpenMPDirectiveKind RegionKind) const

Description

Returns the captured statement associated with the component region within the (combined) directive.

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

Parameters

clang::OpenMPDirectiveKind RegionKind
Component region kind.

clang::OMPClause* getClause(unsigned int I) const

Description

Returns specified clause.

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

Parameters

unsigned int I
Number of clause.

MutableArrayRef<clang::OMPClause*> getClauses()

Description

Get the clauses storage.

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

template <typename SpecificClause>
llvm::iterator_range<
    specific_clause_iterator<SpecificClause>>
getClausesOfKind() const

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

Templates

SpecificClause

template <typename SpecificClause>
static llvm::iterator_range<
    specific_clause_iterator<SpecificClause>>
getClausesOfKind(
    ArrayRef<clang::OMPClause*> Clauses)

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

Templates

SpecificClause

Parameters

ArrayRef<clang::OMPClause*> Clauses

clang::OpenMPDirectiveKind getDirectiveKind()
    const

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

clang::SourceLocation getEndLoc() const

Description

Returns ending location of directive.

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

const clang::CapturedStmt*
getInnermostCapturedStmt() const

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

clang::CapturedStmt* getInnermostCapturedStmt()

Description

Get innermost captured statement for the construct.

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

unsigned int getNumClauses() const

Description

Get number of clauses.

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

const clang::Stmt* getRawStmt() const

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

clang::Stmt* getRawStmt()

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

template <typename SpecificClause>
const SpecificClause* getSingleClause() const

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

Templates

SpecificClause

template <typename SpecificClause>
static const SpecificClause* getSingleClause(
    ArrayRef<clang::OMPClause*> Clauses)

Description

Gets a single clause of the specified kind associated with the current directive iff there is only one clause of this kind (and assertion is fired if there is more than one clause is associated with the directive). Returns nullptr if no clause of this kind is associated with the directive.

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

Templates

SpecificClause

Parameters

ArrayRef<clang::OMPClause*> Clauses

clang::Stmt* getStructuredBlock()

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

const clang::Stmt* getStructuredBlock() const

Description

Returns the AST node representing OpenMP structured-block of this OpenMP executable directive, Prerequisite: Executable Directive must not be Standalone directive.

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

bool hasAssociatedStmt() const

Description

Returns true if directive has associated statement.

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

template <typename SpecificClause>
bool hasClausesOfKind() const

Description

Returns true if the current directive has one or more clauses of a specific kind.

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

Templates

SpecificClause

bool isStandaloneDirective() const

Description

Returns whether or not this is a Standalone directive. Stand-alone directives are executable directives that have no associated user code.

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

void setLocEnd(clang::SourceLocation Loc)

Description

Set ending location of directive.

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

Parameters

clang::SourceLocation Loc
New ending location of directive.

void setLocStart(clang::SourceLocation Loc)

Description

Set starting location of directive kind.

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

Parameters

clang::SourceLocation Loc
New starting location of directive.

static llvm::iterator_range<
    used_clauses_child_iterator>
used_clauses_children(
    ArrayRef<clang::OMPClause*> Clauses)

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

Parameters

ArrayRef<clang::OMPClause*> Clauses