clang 24.0.0git
OMPMetaDirective Class Referencefinal

This represents '#pragma omp metadirective' directive. More...

#include "clang/AST/StmtOpenMP.h"

Inheritance diagram for OMPMetaDirective:
[legend]

Public Member Functions

unsigned getNumVariants () const
bool hasImplicitOtherwise () const
ArrayRef< Stmt * > variants () const
ArrayRef< Expr * > conditions () const
ArrayRef< OMPTraitInfo * > traitInfos () const
child_range children ()
const_child_range children () const

Static Public Member Functions

static OMPMetaDirective * Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef< Stmt * > Variants, ArrayRef< Expr * > Conditions, ArrayRef< OMPTraitInfo * > TraitInfos, bool HasImplicitOtherwise)
static OMPMetaDirective * CreateEmpty (const ASTContext &C, unsigned NumVariants, EmptyShell)
static bool classof (const Stmt *T)

Friends

class ASTStmtReader
class OMPExecutableDirective

Detailed Description

This represents '#pragma omp metadirective' directive.

#pragma omp metadirective when(user={condition(N>10)}: parallel for)

In this example directive '#pragma omp metadirective' has clauses 'when' with a dynamic user condition to check if a variable 'N > 10'. The directive holds one variant per 'when' or 'otherwise' clause: the complete directive (or the plain associated statement), its condition and its context selectors.

Definition at line 6624 of file StmtOpenMP.h.

Member Function Documentation

◆ children() [1/2]

child_range OMPMetaDirective::children ( )
inline

Definition at line 6691 of file StmtOpenMP.h.

References Children.

Referenced by children().

◆ children() [2/2]

const_child_range OMPMetaDirective::children ( ) const
inline

Definition at line 6695 of file StmtOpenMP.h.

References children().

◆ classof()

bool OMPMetaDirective::classof ( const Stmt * T)
inlinestatic

Definition at line 6699 of file StmtOpenMP.h.

◆ conditions()

ArrayRef< Expr * > OMPMetaDirective::conditions ( ) const
inline

Definition at line 6686 of file StmtOpenMP.h.

◆ Create()

OMPMetaDirective * OMPMetaDirective::Create ( const ASTContext & C,
SourceLocation StartLoc,
SourceLocation EndLoc,
ArrayRef< Stmt * > Variants,
ArrayRef< Expr * > Conditions,
ArrayRef< OMPTraitInfo * > TraitInfos,
bool HasImplicitOtherwise )
static

Definition at line 398 of file StmtOpenMP.cpp.

References clang::C.

Referenced by clang::SemaOpenMP::ActOnOpenMPMetaDirective().

◆ CreateEmpty()

OMPMetaDirective * OMPMetaDirective::CreateEmpty ( const ASTContext & C,
unsigned NumVariants,
EmptyShell  )
static

Definition at line 413 of file StmtOpenMP.cpp.

References clang::C.

◆ getNumVariants()

unsigned OMPMetaDirective::getNumVariants ( ) const
inline

Definition at line 6683 of file StmtOpenMP.h.

◆ hasImplicitOtherwise()

bool OMPMetaDirective::hasImplicitOtherwise ( ) const
inline

Definition at line 6684 of file StmtOpenMP.h.

◆ traitInfos()

ArrayRef< OMPTraitInfo * > OMPMetaDirective::traitInfos ( ) const
inline

Definition at line 6687 of file StmtOpenMP.h.

◆ variants()

ArrayRef< Stmt * > OMPMetaDirective::variants ( ) const
inline

◆ ASTStmtReader

friend class ASTStmtReader
friend

Definition at line 6625 of file StmtOpenMP.h.

References ASTStmtReader.

Referenced by ASTStmtReader.

◆ OMPExecutableDirective

friend class OMPExecutableDirective
friend

Definition at line 6626 of file StmtOpenMP.h.

References OMPExecutableDirective.

Referenced by OMPExecutableDirective.


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