class OMPMapClause
Declaration
class OMPMapClause : public OMPMappableExprListClause,
private TrailingObjects { /* full declaration omitted */ };
Description
This represents clause 'map' in the '#pragma omp ...' directives. In this example directive '#pragma omp target' has clause 'map' with the variables 'a' and 'b'.
Declared at: clang/include/clang/AST/OpenMPClause.h:5712
Inherits from: OMPMappableExprListClause, TrailingObjects
Member Variables
- private clang::OpenMPMapModifierKind[5] MapTypeModifiers = {OMPC_MAP_MODIFIER_unknown, OMPC_MAP_MODIFIER_unknown, OMPC_MAP_MODIFIER_unknown, OMPC_MAP_MODIFIER_unknown, OMPC_MAP_MODIFIER_unknown}
- Map-type-modifiers for the 'map' clause.
- private clang::SourceLocation[5] MapTypeModifiersLoc
- Location of map-type-modifiers for the 'map' clause.
- private clang::OpenMPMapClauseKind MapType = OMPC_MAP_unknown
- Map type for the 'map' clause.
- private bool MapTypeIsImplicit = false
- Is this an implicit map type or not.
- private clang::SourceLocation MapLoc
- Location of the map type.
- private clang::SourceLocation ColonLoc
- Colon location.
Method Overview
- public static clang::OMPMapClause * Create(const clang::ASTContext & C, const clang::OMPVarListLocTy & Locs, ArrayRef<clang::Expr *> Vars, ArrayRef<clang::ValueDecl *> Declarations, clang::OMPClauseMappableExprCommon::MappableExprComponentListsRef ComponentLists, ArrayRef<clang::Expr *> UDMapperRefs, ArrayRef<clang::OpenMPMapModifierKind> MapModifiers, ArrayRef<clang::SourceLocation> MapModifiersLoc, clang::NestedNameSpecifierLoc UDMQualifierLoc, clang::DeclarationNameInfo MapperId, clang::OpenMPMapClauseKind Type, bool TypeIsImplicit, clang::SourceLocation TypeLoc)
- public static clang::OMPMapClause * CreateEmpty(const clang::ASTContext & C, const clang::OMPMappableExprListSizeTy & Sizes)
- private OMPMapClause(ArrayRef<clang::OpenMPMapModifierKind> MapModifiers, ArrayRef<clang::SourceLocation> MapModifiersLoc, clang::NestedNameSpecifierLoc MapperQualifierLoc, clang::DeclarationNameInfo MapperIdInfo, clang::OpenMPMapClauseKind MapType, bool MapTypeIsImplicit, clang::SourceLocation MapLoc, const clang::OMPVarListLocTy & Locs, const clang::OMPMappableExprListSizeTy & Sizes)
- private OMPMapClause(const clang::OMPMappableExprListSizeTy & Sizes)
- public clang::OMPClause::const_child_range children() const
- public clang::OMPClause::child_range children()
- public static bool classof(const clang::OMPClause * T)
- public clang::SourceLocation getColonLoc() const
- public clang::SourceLocation getMapLoc() const
- public clang::OpenMPMapClauseKind getMapType() const
- public clang::OpenMPMapModifierKind getMapTypeModifier(unsigned int Cnt) const
- public clang::SourceLocation getMapTypeModifierLoc(unsigned int Cnt) const
- public ArrayRef<clang::OpenMPMapModifierKind> getMapTypeModifiers() const
- public ArrayRef<clang::SourceLocation> getMapTypeModifiersLoc() const
- public bool isImplicitMapType() const
- private size_t numTrailingObjects(OverloadToken<clang::Expr *>) const
- private size_t numTrailingObjects(OverloadToken<unsigned int>) const
- private size_t numTrailingObjects(OverloadToken<clang::ValueDecl *>) const
- private void setColonLoc(clang::SourceLocation Loc)
- private void setMapLoc(clang::SourceLocation TLoc)
- private void setMapType(clang::OpenMPMapClauseKind T)
- private void setMapTypeModifier(unsigned int I, clang::OpenMPMapModifierKind T)
- private void setMapTypeModifierLoc(unsigned int I, clang::SourceLocation TLoc)
- public clang::OMPClause::child_range used_children()
- public clang::OMPClause::const_child_range used_children() const
Methods
¶static clang::OMPMapClause* Create(
const clang::ASTContext& C,
const clang::OMPVarListLocTy& Locs,
ArrayRef<clang::Expr*> Vars,
ArrayRef<clang::ValueDecl*> Declarations,
clang::OMPClauseMappableExprCommon::
MappableExprComponentListsRef
ComponentLists,
ArrayRef<clang::Expr*> UDMapperRefs,
ArrayRef<clang::OpenMPMapModifierKind>
MapModifiers,
ArrayRef<clang::SourceLocation>
MapModifiersLoc,
clang::NestedNameSpecifierLoc UDMQualifierLoc,
clang::DeclarationNameInfo MapperId,
clang::OpenMPMapClauseKind Type,
bool TypeIsImplicit,
clang::SourceLocation TypeLoc)
static clang::OMPMapClause* Create(
const clang::ASTContext& C,
const clang::OMPVarListLocTy& Locs,
ArrayRef<clang::Expr*> Vars,
ArrayRef<clang::ValueDecl*> Declarations,
clang::OMPClauseMappableExprCommon::
MappableExprComponentListsRef
ComponentLists,
ArrayRef<clang::Expr*> UDMapperRefs,
ArrayRef<clang::OpenMPMapModifierKind>
MapModifiers,
ArrayRef<clang::SourceLocation>
MapModifiersLoc,
clang::NestedNameSpecifierLoc UDMQualifierLoc,
clang::DeclarationNameInfo MapperId,
clang::OpenMPMapClauseKind Type,
bool TypeIsImplicit,
clang::SourceLocation TypeLoc)
Description
Creates clause with a list of variables \a VL.
Declared at: clang/include/clang/AST/OpenMPClause.h:5863
Parameters
- const clang::ASTContext& C
- AST context.
- const clang::OMPVarListLocTy& Locs
- Locations needed to build a mappable clause. It includes 1) StartLoc: starting location of the clause (the clause keyword); 2) LParenLoc: location of '('; 3) EndLoc: ending location of the clause.
- ArrayRef<clang::Expr*> Vars
- The original expression used in the clause.
- ArrayRef<clang::ValueDecl*> Declarations
- Declarations used in the clause.
- clang::OMPClauseMappableExprCommon:: MappableExprComponentListsRef ComponentLists
- Component lists used in the clause.
- ArrayRef<clang::Expr*> UDMapperRefs
- References to user-defined mappers associated with expressions used in the clause.
- ArrayRef<clang::OpenMPMapModifierKind> MapModifiers
- Map-type-modifiers.
- ArrayRef<clang::SourceLocation> MapModifiersLoc
- Location of map-type-modifiers.
- clang::NestedNameSpecifierLoc UDMQualifierLoc
- C++ nested name specifier for the associated user-defined mapper.
- clang::DeclarationNameInfo MapperId
- The identifier of associated user-defined mapper.
- clang::OpenMPMapClauseKind Type
- Map type.
- bool TypeIsImplicit
- Map type is inferred implicitly.
- clang::SourceLocation TypeLoc
- Location of the map type.
¶static clang::OMPMapClause* CreateEmpty(
const clang::ASTContext& C,
const clang::OMPMappableExprListSizeTy& Sizes)
static clang::OMPMapClause* CreateEmpty(
const clang::ASTContext& C,
const clang::OMPMappableExprListSizeTy& Sizes)
Description
Creates an empty clause with the place for \a NumVars original expressions, \a NumUniqueDeclarations declarations, \NumComponentListslists, and \a NumComponents expression components.
Declared at: clang/include/clang/AST/OpenMPClause.h:5882
Parameters
- const clang::ASTContext& C
- AST context.
- const clang::OMPMappableExprListSizeTy& Sizes
- All required sizes to build a mappable clause. It includes 1) NumVars: number of expressions listed in this clause; 2) NumUniqueDeclarations: number of unique base declarations in this clause; 3) NumComponentLists: number of component lists in this clause; and 4) NumComponents: total number of expression components in the clause.
¶OMPMapClause(
ArrayRef<clang::OpenMPMapModifierKind>
MapModifiers,
ArrayRef<clang::SourceLocation>
MapModifiersLoc,
clang::NestedNameSpecifierLoc
MapperQualifierLoc,
clang::DeclarationNameInfo MapperIdInfo,
clang::OpenMPMapClauseKind MapType,
bool MapTypeIsImplicit,
clang::SourceLocation MapLoc,
const clang::OMPVarListLocTy& Locs,
const clang::OMPMappableExprListSizeTy& Sizes)
OMPMapClause(
ArrayRef<clang::OpenMPMapModifierKind>
MapModifiers,
ArrayRef<clang::SourceLocation>
MapModifiersLoc,
clang::NestedNameSpecifierLoc
MapperQualifierLoc,
clang::DeclarationNameInfo MapperIdInfo,
clang::OpenMPMapClauseKind MapType,
bool MapTypeIsImplicit,
clang::SourceLocation MapLoc,
const clang::OMPVarListLocTy& Locs,
const clang::OMPMappableExprListSizeTy& Sizes)
Description
Build a clause for \a NumVars listed expressions, \a NumUniqueDeclarations declarations, \a NumComponentLists total component lists, and \a NumComponents total expression components.
Declared at: clang/include/clang/AST/OpenMPClause.h:5777
Parameters
- ArrayRef<clang::OpenMPMapModifierKind> MapModifiers
- Map-type-modifiers.
- ArrayRef<clang::SourceLocation> MapModifiersLoc
- Locations of map-type-modifiers.
- clang::NestedNameSpecifierLoc MapperQualifierLoc
- C++ nested name specifier for the associated user-defined mapper.
- clang::DeclarationNameInfo MapperIdInfo
- The identifier of associated user-defined mapper.
- clang::OpenMPMapClauseKind MapType
- Map type.
- bool MapTypeIsImplicit
- Map type is inferred implicitly.
- clang::SourceLocation MapLoc
- Location of the map type.
- const clang::OMPVarListLocTy& Locs
- Locations needed to build a mappable clause. It includes 1) StartLoc: starting location of the clause (the clause keyword); 2) LParenLoc: location of '('; 3) EndLoc: ending location of the clause.
- const clang::OMPMappableExprListSizeTy& Sizes
- All required sizes to build a mappable clause. It includes 1) NumVars: number of expressions listed in this clause; 2) NumUniqueDeclarations: number of unique base declarations in this clause; 3) NumComponentLists: number of component lists in this clause; and 4) NumComponents: total number of expression components in the clause.
¶OMPMapClause(
const clang::OMPMappableExprListSizeTy& Sizes)
OMPMapClause(
const clang::OMPMappableExprListSizeTy& Sizes)
Description
Build an empty clause.
Declared at: clang/include/clang/AST/OpenMPClause.h:5805
Parameters
- const clang::OMPMappableExprListSizeTy& Sizes
- All required sizes to build a mappable clause. It includes 1) NumVars: number of expressions listed in this clause; 2) NumUniqueDeclarations: number of unique base declarations in this clause; 3) NumComponentLists: number of component lists in this clause; and 4) NumComponents: total number of expression components in the clause.
¶clang::OMPClause::const_child_range children()
const
clang::OMPClause::const_child_range children()
const
Declared at: clang/include/clang/AST/OpenMPClause.h:5936
¶clang::OMPClause::child_range children()
clang::OMPClause::child_range children()
Declared at: clang/include/clang/AST/OpenMPClause.h:5930
¶static bool classof(const clang::OMPClause* T)
static bool classof(const clang::OMPClause* T)
Declared at: clang/include/clang/AST/OpenMPClause.h:5953
Parameters
- const clang::OMPClause* T
¶clang::SourceLocation getColonLoc() const
clang::SourceLocation getColonLoc() const
Description
Get colon location.
Declared at: clang/include/clang/AST/OpenMPClause.h:5928
¶clang::SourceLocation getMapLoc() const
clang::SourceLocation getMapLoc() const
Description
Fetches location of clause mapping kind.
Declared at: clang/include/clang/AST/OpenMPClause.h:5925
¶clang::OpenMPMapClauseKind getMapType() const
clang::OpenMPMapClauseKind getMapType() const
Description
Fetches mapping kind for the clause.
Declared at: clang/include/clang/AST/OpenMPClause.h:5886
¶clang::OpenMPMapModifierKind getMapTypeModifier(
unsigned int Cnt) const
clang::OpenMPMapModifierKind getMapTypeModifier(
unsigned int Cnt) const
Description
Fetches the map-type-modifier at 'Cnt' index of array of modifiers.
Declared at: clang/include/clang/AST/OpenMPClause.h:5898
Parameters
- unsigned int Cnt
- index for map-type-modifier.
¶clang::SourceLocation getMapTypeModifierLoc(
unsigned int Cnt) const
clang::SourceLocation getMapTypeModifierLoc(
unsigned int Cnt) const
Description
Fetches the map-type-modifier location at 'Cnt' index of array of modifiers' locations.
Declared at: clang/include/clang/AST/OpenMPClause.h:5908
Parameters
- unsigned int Cnt
- index for map-type-modifier location.
¶ArrayRef<clang::OpenMPMapModifierKind>
getMapTypeModifiers() const
ArrayRef<clang::OpenMPMapModifierKind>
getMapTypeModifiers() const
Description
Fetches ArrayRef of map-type-modifiers.
Declared at: clang/include/clang/AST/OpenMPClause.h:5915
¶ArrayRef<clang::SourceLocation>
getMapTypeModifiersLoc() const
ArrayRef<clang::SourceLocation>
getMapTypeModifiersLoc() const
Description
Fetches ArrayRef of location of map-type-modifiers.
Declared at: clang/include/clang/AST/OpenMPClause.h:5920
¶bool isImplicitMapType() const
bool isImplicitMapType() const
Description
Is this an implicit map type? We have to capture 'IsMapTypeImplicit' from the parser for more informative error messages. It helps distinguish map(r) from map(tofrom: r), which is important to print more helpful error messages for some target directives.
Declared at: clang/include/clang/AST/OpenMPClause.h:5893
¶size_t numTrailingObjects(
OverloadToken<clang::Expr*>) const
size_t numTrailingObjects(
OverloadToken<clang::Expr*>) const
Description
Define the sizes of each trailing object array except the last one. This is required for TrailingObjects to work properly.
Declared at: clang/include/clang/AST/OpenMPClause.h:5723
Parameters
- OverloadToken<clang::Expr*>
¶size_t numTrailingObjects(
OverloadToken<unsigned int>) const
size_t numTrailingObjects(
OverloadToken<unsigned int>) const
Declared at: clang/include/clang/AST/OpenMPClause.h:5731
Parameters
- OverloadToken<unsigned int>
¶size_t numTrailingObjects(
OverloadToken<clang::ValueDecl*>) const
size_t numTrailingObjects(
OverloadToken<clang::ValueDecl*>) const
Declared at: clang/include/clang/AST/OpenMPClause.h:5728
Parameters
- OverloadToken<clang::ValueDecl*>
¶void setColonLoc(clang::SourceLocation Loc)
void setColonLoc(clang::SourceLocation Loc)
Description
Set colon location.
Declared at: clang/include/clang/AST/OpenMPClause.h:5840
Parameters
¶void setMapLoc(clang::SourceLocation TLoc)
void setMapLoc(clang::SourceLocation TLoc)
Description
Set type location.
Declared at: clang/include/clang/AST/OpenMPClause.h:5837
Parameters
- clang::SourceLocation TLoc
- Type location.
¶void setMapType(clang::OpenMPMapClauseKind T)
void setMapType(clang::OpenMPMapClauseKind T)
Description
Set type for the clause.
Declared at: clang/include/clang/AST/OpenMPClause.h:5832
Parameters
- clang::OpenMPMapClauseKind T
- Type for the clause.
¶void setMapTypeModifier(
unsigned int I,
clang::OpenMPMapModifierKind T)
void setMapTypeModifier(
unsigned int I,
clang::OpenMPMapModifierKind T)
Description
Set map-type-modifier for the clause.
Declared at: clang/include/clang/AST/OpenMPClause.h:5813
Parameters
- unsigned int I
- index for map-type-modifier.
- clang::OpenMPMapModifierKind T
- map-type-modifier for the clause.
¶void setMapTypeModifierLoc(
unsigned int I,
clang::SourceLocation TLoc)
void setMapTypeModifierLoc(
unsigned int I,
clang::SourceLocation TLoc)
Description
Set location for the map-type-modifier.
Declared at: clang/include/clang/AST/OpenMPClause.h:5823
Parameters
- unsigned int I
- index for map-type-modifier location.
- clang::SourceLocation TLoc
- map-type-modifier location.
¶clang::OMPClause::child_range used_children()
clang::OMPClause::child_range used_children()
Declared at: clang/include/clang/AST/OpenMPClause.h:5941
¶clang::OMPClause::const_child_range
used_children() const
clang::OMPClause::const_child_range
used_children() const
Declared at: clang/include/clang/AST/OpenMPClause.h:5947