26void OMPThreadPrivateDecl::anchor() {}
33 C, DC, {}, VL.size(), L);
46 assert(VL.size() ==
Data->getNumChildren() &&
47 "Number of variables is not the same as the preallocated buffer");
48 llvm::copy(VL, getVars().begin());
55void OMPGroupPrivateDecl::anchor() {}
61 C, DC, {}, VL.size(), L);
74 assert(VL.size() ==
Data->getNumChildren() &&
75 "Number of variables is not the same as the preallocated buffer");
76 llvm::copy(VL, getVars().begin());
83void OMPAllocateDecl::anchor() { }
89 C, DC,
CL, VL.size(), L);
103 assert(VL.size() ==
Data->getNumChildren() &&
104 "Number of variables is not the same as the preallocated buffer");
105 llvm::copy(VL, getVars().begin());
112void OMPRequiresDecl::anchor() {}
132OMPDeclareReductionDecl::OMPDeclareReductionDecl(
136 PrevDeclInScope(PrevDeclInScope) {
140void OMPDeclareReductionDecl::anchor() {}
144 QualType T, OMPDeclareReductionDecl *PrevDeclInScope) {
145 return new (
C, DC) OMPDeclareReductionDecl(OMPDeclareReduction, DC, L, Name,
151 return new (
C, ID) OMPDeclareReductionDecl(
157 return cast_or_null<OMPDeclareReductionDecl>(
162 return cast_or_null<OMPDeclareReductionDecl>(
170void OMPDeclareMapperDecl::anchor() {}
175 OMPDeclareMapperDecl *PrevDeclInScope) {
177 C, DC, Clauses, 1, L, Name,
T, VarName, PrevDeclInScope);
189 return cast_or_null<OMPDeclareMapperDecl>(
194 return cast_or_null<OMPDeclareMapperDecl>(
202void OMPCapturedExprDecl::anchor() {}
207 return new (
C, DC) OMPCapturedExprDecl(
208 C, DC, Id,
T,
C.getTrivialTypeSourceInfo(
T), StartLoc);
213 return new (
C, ID) OMPCapturedExprDecl(
C,
nullptr,
nullptr,
QualType(),
Defines the clang::ASTContext interface.
This file defines OpenMP nodes for declarative directives.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
DeclContext(Decl::Kind K)
SourceLocation getEndLoc() const LLVM_READONLY
ASTContext & getASTContext() const LLVM_READONLY
The name of a declaration.
SourceLocation getBeginLoc() const LLVM_READONLY
One of these records is kept for each identifier that is lexed.
static OMPAllocateDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, ArrayRef< Expr * > VL, ArrayRef< OMPClause * > CL)
static OMPAllocateDecl * CreateDeserialized(ASTContext &C, GlobalDeclID ID, unsigned NVars, unsigned NClauses)
static OMPCapturedExprDecl * Create(ASTContext &C, DeclContext *DC, IdentifierInfo *Id, QualType T, SourceLocation StartLoc)
static OMPCapturedExprDecl * CreateDeserialized(ASTContext &C, GlobalDeclID ID)
SourceRange getSourceRange() const override LLVM_READONLY
Source range that this declaration covers.
static T * createEmptyDirective(const ASTContext &C, GlobalDeclID ID, unsigned NumClauses, unsigned NumChildren, Params &&... P)
static T * createDirective(const ASTContext &C, DeclContext *DC, ArrayRef< OMPClause * > Clauses, unsigned NumChildren, Params &&... P)
static OMPDeclareMapperDecl * CreateDeserialized(ASTContext &C, GlobalDeclID ID, unsigned N)
Creates deserialized declare mapper node.
OMPDeclareMapperDecl * getPrevDeclInScope()
Get reference to previous declare mapper construct in the same scope with the same name.
static OMPDeclareMapperDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, DeclarationName Name, QualType T, DeclarationName VarName, ArrayRef< OMPClause * > Clauses, OMPDeclareMapperDecl *PrevDeclInScope)
Creates declare mapper node.
This represents 'pragma omp declare reduction ...' directive.
static OMPDeclareReductionDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, DeclarationName Name, QualType T, OMPDeclareReductionDecl *PrevDeclInScope)
Create declare reduction node.
OMPDeclareReductionDecl * getPrevDeclInScope()
Get reference to previous declare reduction construct in the same scope with the same name.
static OMPDeclareReductionDecl * CreateDeserialized(ASTContext &C, GlobalDeclID ID)
Create deserialized declare reduction node.
static OMPGroupPrivateDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, ArrayRef< Expr * > VL)
static OMPGroupPrivateDecl * CreateDeserialized(ASTContext &C, GlobalDeclID ID, unsigned N)
static OMPRequiresDecl * CreateDeserialized(ASTContext &C, GlobalDeclID ID, unsigned N)
Create deserialized requires node.
static OMPRequiresDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, ArrayRef< OMPClause * > CL)
Create requires node.
static OMPThreadPrivateDecl * CreateDeserialized(ASTContext &C, GlobalDeclID ID, unsigned N)
static OMPThreadPrivateDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation L, ArrayRef< Expr * > VL)
A (possibly-)qualified type.
Encodes a location in the source.
A trivial tuple used to represent a source range.
Represent the declaration of a variable (in which case it is an lvalue) a function (in which case it ...
const Expr * getInit() const
The JSON file list parser is used to communicate input to InstallAPI.
nullptr
This class represents a compute construct, representing a 'Kind' of ‘parallel’, 'serial',...
const FunctionProtoType * T