15 #ifndef LLVM_CLANG_AST_DECLOPENMP_H
16 #define LLVM_CLANG_AST_DECLOPENMP_H
19 #include "llvm/ADT/ArrayRef.h"
44 virtual void anchor();
47 Decl(DK, DC, L), NumVars(0) { }
50 return llvm::makeArrayRef(getTrailingObjects<Expr *>(), NumVars);
53 MutableArrayRef<Expr *> getVars() {
54 return MutableArrayRef<Expr *>(getTrailingObjects<Expr *>(), NumVars);
57 void setVars(ArrayRef<Expr *> VL);
64 unsigned ID,
unsigned N);
Decl - This represents one declaration (or definition), e.g.
llvm::iterator_range< varlist_const_iterator > varlist_const_range
varlist_const_iterator varlist_end() const
static OMPThreadPrivateDecl * CreateDeserialized(ASTContext &C, unsigned ID, unsigned N)
bool varlist_empty() const
static bool classof(const Decl *D)
varlist_const_iterator varlist_begin() const
static OMPThreadPrivateDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, ArrayRef< Expr * > VL)
MutableArrayRef< Expr * >::iterator varlist_iterator
ID
Defines the set of possible language-specific address spaces.
Encodes a location in the source.
varlist_iterator varlist_begin()
unsigned varlist_size() const
varlist_const_range varlists() const
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
static bool classofKind(Kind K)
varlist_iterator varlist_end()
Kind
Lists the kind of concrete classes of Decl.
llvm::iterator_range< varlist_iterator > varlist_range
ArrayRef< const Expr * >::iterator varlist_const_iterator
This represents '#pragma omp threadprivate ...' directive.