21 using namespace clang;
27 void OMPThreadPrivateDecl::anchor() { }
34 new (C, DC, additionalSizeToAlloc<Expr *>(VL.size()))
36 D->NumVars = VL.size();
51 assert(VL.size() == NumVars &&
52 "Number of variables is not the same as the preallocated buffer");
53 std::uninitialized_copy(VL.begin(), VL.end(), getTrailingObjects<Expr *>());
60 void OMPDeclareReductionDecl::anchor() {}
77 return cast_or_null<OMPDeclareReductionDecl>(
82 return cast_or_null<OMPDeclareReductionDecl>(
90 void OMPCapturedExprDecl::anchor() {}
Defines the clang::ASTContext interface.
A (possibly-)qualified type.
static OMPDeclareReductionDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, DeclarationName Name, QualType T, OMPDeclareReductionDecl *PrevDeclInScope)
Create declare reduction node.
const Expr * getInit() const
SourceLocation getLocEnd() const LLVM_READONLY
One of these records is kept for each identifier that is lexed.
static OMPThreadPrivateDecl * CreateDeserialized(ASTContext &C, unsigned ID, unsigned N)
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
SourceRange getSourceRange() const override LLVM_READONLY
Source range that this declaration covers.
static OMPCapturedExprDecl * CreateDeserialized(ASTContext &C, unsigned ID)
static OMPThreadPrivateDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, ArrayRef< Expr * > VL)
OMPDeclareReductionDecl * getPrevDeclInScope()
Get reference to previous declare reduction construct in the same scope with the same name...
Encodes a location in the source.
This represents '#pragma omp declare reduction ...' directive.
Pseudo declaration for capturing expressions.
ASTContext & getASTContext() const LLVM_READONLY
This file defines OpenMP nodes for declarative directives.
T * get(ExternalASTSource *Source) const
Retrieve the pointer to the AST node that this lazy pointer.
static OMPCapturedExprDecl * Create(ASTContext &C, DeclContext *DC, IdentifierInfo *Id, QualType T, SourceLocation StartLoc)
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
DeclarationName - The name of a declaration.
SourceLocation getLocStart() const LLVM_READONLY
static OMPDeclareReductionDecl * CreateDeserialized(ASTContext &C, unsigned ID)
Create deserialized declare reduction node.
A trivial tuple used to represent a source range.
This represents '#pragma omp threadprivate ...' directive.