clang 20.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::OMPMetaDirective Class Referencefinal

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

#include "clang/AST/StmtOpenMP.h"

Inheritance diagram for clang::OMPMetaDirective:
Inheritance graph
[legend]

Public Member Functions

StmtgetIfStmt () const
 
- Public Member Functions inherited from clang::OMPExecutableDirective
template<typename SpecificClause >
llvm::iterator_range< specific_clause_iterator< SpecificClause > > getClausesOfKind () const
 
template<typename SpecificClause >
const SpecificClause * getSingleClause () const
 
template<typename SpecificClause >
bool hasClausesOfKind () const
 Returns true if the current directive has one or more clauses of a specific kind.
 
SourceLocation getBeginLoc () const
 Returns starting location of directive kind.
 
SourceLocation getEndLoc () const
 Returns ending location of directive.
 
void setLocStart (SourceLocation Loc)
 Set starting location of directive kind.
 
void setLocEnd (SourceLocation Loc)
 Set ending location of directive.
 
unsigned getNumClauses () const
 Get number of clauses.
 
OMPClausegetClause (unsigned I) const
 Returns specified clause.
 
bool hasAssociatedStmt () const
 Returns true if directive has associated statement.
 
const StmtgetAssociatedStmt () const
 Returns statement associated with the directive.
 
StmtgetAssociatedStmt ()
 
const CapturedStmtgetCapturedStmt (OpenMPDirectiveKind RegionKind) const
 Returns the captured statement associated with the component region within the (combined) directive.
 
CapturedStmtgetInnermostCapturedStmt ()
 Get innermost captured statement for the construct.
 
const CapturedStmtgetInnermostCapturedStmt () const
 
OpenMPDirectiveKind getDirectiveKind () const
 
child_range children ()
 
const_child_range children () const
 
ArrayRef< OMPClause * > clauses () const
 
bool isStandaloneDirective () const
 Returns whether or not this is a Standalone directive.
 
const StmtgetStructuredBlock () const
 Returns the AST node representing OpenMP structured-block of this OpenMP executable directive, Prerequisite: Executable Directive must not be Standalone directive.
 
StmtgetStructuredBlock ()
 
const StmtgetRawStmt () const
 
StmtgetRawStmt ()
 
- Public Member Functions inherited from clang::Stmt
void * operator new (size_t bytes, const ASTContext &C, unsigned alignment=8)
 
void * operator new (size_t bytes, const ASTContext *C, unsigned alignment=8)
 
void * operator new (size_t bytes, void *mem) noexcept
 
void operator delete (void *, const ASTContext &, unsigned) noexcept
 
void operator delete (void *, const ASTContext *, unsigned) noexcept
 
void operator delete (void *, size_t) noexcept
 
void operator delete (void *, void *) noexcept
 
 Stmt ()=delete
 
 Stmt (const Stmt &)=delete
 
 Stmt (Stmt &&)=delete
 
Stmtoperator= (const Stmt &)=delete
 
Stmtoperator= (Stmt &&)=delete
 
 Stmt (StmtClass SC)
 
StmtClass getStmtClass () const
 
const char * getStmtClassName () const
 
SourceRange getSourceRange () const LLVM_READONLY
 SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager.
 
SourceLocation getBeginLoc () const LLVM_READONLY
 
SourceLocation getEndLoc () const LLVM_READONLY
 
void dump () const
 Dumps the specified AST fragment and all subtrees to llvm::errs().
 
void dump (raw_ostream &OS, const ASTContext &Context) const
 
int64_t getID (const ASTContext &Context) const
 
void dumpColor () const
 dumpColor - same as dump(), but forces color highlighting.
 
void dumpPretty (const ASTContext &Context) const
 dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax.
 
void printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const
 
void printPrettyControlled (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const
 
void printJson (raw_ostream &Out, PrinterHelper *Helper, const PrintingPolicy &Policy, bool AddQuotes) const
 Pretty-prints in JSON format.
 
void viewAST () const
 viewAST - Visualize an AST rooted at this Stmt* using GraphViz.
 
StmtIgnoreContainers (bool IgnoreCaptured=false)
 Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true.
 
const StmtIgnoreContainers (bool IgnoreCaptured=false) const
 
const StmtstripLabelLikeStatements () const
 Strip off all label-like statements.
 
StmtstripLabelLikeStatements ()
 
child_range children ()
 
const_child_range children () const
 
child_iterator child_begin ()
 
child_iterator child_end ()
 
const_child_iterator child_begin () const
 
const_child_iterator child_end () const
 
void Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, bool Canonical, bool ProfileLambdaExpr=false) const
 Produce a unique representation of the given statement.
 
void ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const
 Calculate a unique representation for a statement that is stable across compiler invocations.
 

Static Public Member Functions

static OMPMetaDirectiveCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, Stmt *IfStmt)
 
static OMPMetaDirectiveCreateEmpty (const ASTContext &C, unsigned NumClauses, EmptyShell)
 
static bool classof (const Stmt *T)
 
- Static Public Member Functions inherited from clang::OMPExecutableDirective
static llvm::iterator_range< used_clauses_child_iteratorused_clauses_children (ArrayRef< OMPClause * > Clauses)
 
template<typename SpecificClause >
static llvm::iterator_range< specific_clause_iterator< SpecificClause > > getClausesOfKind (ArrayRef< OMPClause * > Clauses)
 
template<typename SpecificClause >
static const SpecificClause * getSingleClause (ArrayRef< OMPClause * > Clauses)
 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).
 
static bool classof (const Stmt *S)
 
- Static Public Member Functions inherited from clang::Stmt
static void addStmtClass (const StmtClass s)
 
static void EnableStatistics ()
 
static void PrintStats ()
 
static Likelihood getLikelihood (ArrayRef< const Attr * > Attrs)
 
static Likelihood getLikelihood (const Stmt *S)
 
static const AttrgetLikelihoodAttr (const Stmt *S)
 
static Likelihood getLikelihood (const Stmt *Then, const Stmt *Else)
 
static std::tuple< bool, const Attr *, const Attr * > determineLikelihoodConflict (const Stmt *Then, const Stmt *Else)
 

Friends

class ASTStmtReader
 
class OMPExecutableDirective
 

Additional Inherited Members

- Public Types inherited from clang::Stmt
enum  StmtClass { NoStmtClass = 0 }
 
enum  Likelihood { LH_Unlikely = -1 , LH_None , LH_Likely }
 The likelihood of a branch being taken. More...
 
using child_iterator = StmtIterator
 Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpressions of an AST node.
 
using const_child_iterator = ConstStmtIterator
 
using child_range = llvm::iterator_range< child_iterator >
 
using const_child_range = llvm::iterator_range< const_child_iterator >
 
- Protected Types inherited from clang::Stmt
enum  { NumExprBits = NumStmtBits + 5 + llvm::BitWidth<ExprDependence> }
 
enum  { NumCallExprBits = 32 }
 
enum  { NumOverloadExprBits = NumExprBits + 1 }
 
template<typename T >
using ConstCastIterator = CastIterator< T, const T *const, const Stmt *const >
 Const iterator for iterating over Stmt * arrays that contain only T *.
 
using ExprIterator = CastIterator< Expr >
 
using ConstExprIterator = ConstCastIterator< Expr >
 
- Protected Member Functions inherited from clang::OMPExecutableDirective
 OMPExecutableDirective (StmtClass SC, OpenMPDirectiveKind K, SourceLocation StartLoc, SourceLocation EndLoc)
 Build instance of directive of class K.
 
- Protected Member Functions inherited from clang::Stmt
void * operator new (size_t bytes) noexcept
 
void operator delete (void *data) noexcept
 
 Stmt (StmtClass SC, EmptyShell)
 Construct an empty statement.
 
- Static Protected Member Functions inherited from clang::OMPExecutableDirective
template<typename T , typename... Params>
static TcreateDirective (const