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>(
78 PrevDeclInScope.
get(getASTContext().getExternalSource()));
82 return cast_or_null<OMPDeclareReductionDecl>(
83 PrevDeclInScope.
get(getASTContext().getExternalSource()));
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.
static OMPCapturedExprDecl * Create(ASTContext &C, DeclContext *DC, IdentifierInfo *Id, QualType T)
One of these records is kept for each identifier that is lexed.
static OMPThreadPrivateDecl * CreateDeserialized(ASTContext &C, unsigned ID, unsigned N)
class LLVM_ALIGNAS(8) DependentTemplateSpecializationType const IdentifierInfo * Name
Represents a template specialization type whose template cannot be resolved, e.g. ...
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
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.
This file defines OpenMP nodes for declarative directives.
T * get(ExternalASTSource *Source) const
Retrieve the pointer to the AST node that this lazy pointer.
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
DeclarationName - The name of a declaration.
static OMPDeclareReductionDecl * CreateDeserialized(ASTContext &C, unsigned ID)
Create deserialized declare reduction node.
This represents '#pragma omp threadprivate ...' directive.