class OMPArraySectionExpr
Declaration
class OMPArraySectionExpr : public Expr { /* full declaration omitted */ };
Description
OpenMP 5.0 [2.1.5, Array Sections]. To specify an array section in an OpenMP construct, array subscript expressions are extended with the following syntax: The array section must be a subset of the original array. Array sections are allowed on multidimensional arrays. Base language array subscript expressions can be used to specify length-one dimensions of multidimensional array sections. Each of the lower-bound, length, and stride expressions if specified must be an integral type expressions of the base language. When evaluated they represent a set of integer values as follows: The lower-bound and length must evaluate to non-negative integers. The stride must evaluate to a positive integer. When the size of the array dimension is not known, the length must be specified explicitly. When the stride is absent it defaults to 1. When the length is absent it defaults to ⌈(size − lower-bound)/stride⌉, where size is the size of the array dimension. When the lower-bound is absent it defaults to 0.
Declared at: clang/include/clang/AST/ExprOpenMP.h:56
Inherits from: Expr
Member Variables
- private clang::Stmt* [4] SubExprs
- private clang::SourceLocation ColonLocFirst
- private clang::SourceLocation ColonLocSecond
- private clang::SourceLocation RBracketLoc
Inherited from Stmt:
Method Overview
- public OMPArraySectionExpr(clang::Stmt::EmptyShell Shell)
- public OMPArraySectionExpr(clang::Expr * Base, clang::Expr * LowerBound, clang::Expr * Length, clang::Expr * Stride, clang::QualType Type, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation ColonLocFirst, clang::SourceLocation ColonLocSecond, clang::SourceLocation RBracketLoc)
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * T)
- public clang::Expr * getBase()
- public const clang::Expr * getBase() const
- public static clang::QualType getBaseOriginalType(const clang::Expr * Base)
- public clang::SourceLocation getBeginLoc() const
- public clang::SourceLocation getColonLocFirst() const
- public clang::SourceLocation getColonLocSecond() const
- public clang::SourceLocation getEndLoc() const
- public clang::SourceLocation getExprLoc() const
- public clang::Expr * getLength()
- public const clang::Expr * getLength() const
- public const clang::Expr * getLowerBound() const
- public clang::Expr * getLowerBound()
- public clang::SourceLocation getRBracketLoc() const
- public const clang::Expr * getStride() const
- public clang::Expr * getStride()
- public void setBase(clang::Expr * E)
- public void setColonLocFirst(clang::SourceLocation L)
- public void setColonLocSecond(clang::SourceLocation L)
- public void setLength(clang::Expr * E)
- public void setLowerBound(clang::Expr * E)
- public void setRBracketLoc(clang::SourceLocation L)
- public void setStride(clang::Expr * E)
Inherited from Expr:
- public Classify
- public ClassifyLValue
- public ClassifyModifiable
- public EvaluateAsBooleanCondition
- public EvaluateAsConstantExpr
- public EvaluateAsFixedPoint
- public EvaluateAsFloat
- public EvaluateAsInitializer
- public EvaluateAsInt
- public EvaluateAsLValue
- public EvaluateAsRValue
- public EvaluateForOverflow
- public EvaluateKnownConstInt
- public EvaluateKnownConstIntCheckOverflow
- public EvaluateWithSubstitution
- public HasSideEffects
- public IgnoreCasts
- public IgnoreCasts
- public IgnoreConversionOperatorSingleStep
- public IgnoreConversionOperatorSingleStep
- public IgnoreImpCasts
- public IgnoreImpCasts
- public IgnoreImplicit
- public IgnoreImplicit
- public IgnoreImplicitAsWritten
- public IgnoreImplicitAsWritten
- public IgnoreParenBaseCasts
- public IgnoreParenBaseCasts
- public IgnoreParenCasts
- public IgnoreParenCasts
- public IgnoreParenImpCasts
- public IgnoreParenImpCasts
- public IgnoreParenLValueCasts
- public IgnoreParenLValueCasts
- public IgnoreParenNoopCasts
- public IgnoreParenNoopCasts
- public IgnoreParens
- public IgnoreParens
- public IgnoreUnlessSpelledInSource
- public IgnoreUnlessSpelledInSource
- public classof
- public containsErrors
- public containsUnexpandedParameterPack
- public findBoundMemberType
- public getAsBuiltinConstantDeclRef
- public getBestDynamicClassType
- public getBestDynamicClassTypeExpr
- public getDependence
- public getExprLoc
- public getFPFeaturesInEffect
- public getIntegerConstantExpr
- public getObjCProperty
- public getObjectKind
- public getReferencedDeclOfCallee
- public getReferencedDeclOfCallee
- public getSourceBitField
- public getSourceBitField
- public getType
- public getValueKind
- public getValueKindForType
- public hasAnyTypeDependentArguments
- public hasNonTrivialCall
- public hasPlaceholderType
- public hasPlaceholderType
- public isBoundMemberFunction
- public isCXX11ConstantExpr
- public isCXX98IntegralConstantExpr
- public isConstantInitializer
- public isDefaultArgument
- public isEvaluatable
- public isGLValue
- public isImplicitCXXThis
- public isInstantiationDependent
- public isIntegerConstantExpr
- public isKnownToHaveBooleanValue
- public isLValue
- public isModifiableLvalue
- public isNullPointerConstant
- public isOBJCGCCandidate
- public isObjCSelfExpr
- public isOrdinaryOrBitFieldObject
- public isPRValue
- public isPotentialConstantExpr
- public isPotentialConstantExprUnevaluated
- public isReadIfDiscardedInCPlusPlus11
- public isSameComparisonOperand
- public isTemporaryObject
- public isTypeDependent
- public isUnusedResultAWarning
- public isValueDependent
- public isXValue
- public refersToBitField
- public refersToGlobalRegisterVar
- public refersToMatrixElement
- public refersToVectorElement
- protected setDependence
- public setObjectKind
- public setType
- public setValueKind
- public skipRValueSubobjectAdjustments
- public skipRValueSubobjectAdjustments
- public tryEvaluateObjectSize
- public tryEvaluateStrLen
Inherited from ValueStmt:
Inherited from Stmt:
- public EnableStatistics
- public IgnoreContainers
- public IgnoreContainers
- public PrintStats
- public ProcessODRHash
- public Profile
- public addStmtClass
- public child_begin
- public child_begin
- public child_end
- public child_end
- public children
- public children
- public determineLikelihoodConflict
- public dump
- public dump
- public dumpColor
- public dumpPretty
- public getBeginLoc
- public getEndLoc
- public getID
- public getLikelihood
- public getLikelihood
- public getLikelihood
- public getLikelihoodAttr
- public getSourceRange
- public getStmtClass
- public getStmtClassName
- public printJson
- public printPretty
- public printPrettyControlled
- public stripLabelLikeStatements
- public stripLabelLikeStatements
- public viewAST
Methods
¶OMPArraySectionExpr(clang::Stmt::EmptyShell Shell)
OMPArraySectionExpr(clang::Stmt::EmptyShell Shell)
Description
Create an empty array section expression.
Declared at: clang/include/clang/AST/ExprOpenMP.h:79
Parameters
- clang::Stmt::EmptyShell Shell
¶OMPArraySectionExpr(
clang::Expr* Base,
clang::Expr* LowerBound,
clang::Expr* Length,
clang::Expr* Stride,
clang::QualType Type,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation ColonLocFirst,
clang::SourceLocation ColonLocSecond,
clang::SourceLocation RBracketLoc)
OMPArraySectionExpr(
clang::Expr* Base,
clang::Expr* LowerBound,
clang::Expr* Length,
clang::Expr* Stride,
clang::QualType Type,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation ColonLocFirst,
clang::SourceLocation ColonLocSecond,
clang::SourceLocation RBracketLoc)
Declared at: clang/include/clang/AST/ExprOpenMP.h:64
Parameters
- clang::Expr* Base
- clang::Expr* LowerBound
- clang::Expr* Length
- clang::Expr* Stride
- clang::QualType Type
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation ColonLocFirst
- clang::SourceLocation ColonLocSecond
- clang::SourceLocation RBracketLoc
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:139
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/ExprOpenMP.h:135
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/ExprOpenMP.h:131
Parameters
- const clang::Stmt* T
¶clang::Expr* getBase()
clang::Expr* getBase()
Description
Get base of the array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:85
¶const clang::Expr* getBase() const
const clang::Expr* getBase() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:86
¶static clang::QualType getBaseOriginalType(
const clang::Expr* Base)
static clang::QualType getBaseOriginalType(
const clang::Expr* Base)
Description
Return original type of the base expression for array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:91
Parameters
- const clang::Expr* Base
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:113
¶clang::SourceLocation getColonLocFirst() const
clang::SourceLocation getColonLocFirst() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:118
¶clang::SourceLocation getColonLocSecond() const
clang::SourceLocation getColonLocSecond() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:121
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:116
¶clang::SourceLocation getExprLoc() const
clang::SourceLocation getExprLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:127
¶clang::Expr* getLength()
clang::Expr* getLength()
Description
Get length of array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:102
¶const clang::Expr* getLength() const
const clang::Expr* getLength() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:103
¶const clang::Expr* getLowerBound() const
const clang::Expr* getLowerBound() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:95
¶clang::Expr* getLowerBound()
clang::Expr* getLowerBound()
Description
Get lower bound of array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:94
¶clang::SourceLocation getRBracketLoc() const
clang::SourceLocation getRBracketLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:124
¶const clang::Expr* getStride() const
const clang::Expr* getStride() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:109
¶clang::Expr* getStride()
clang::Expr* getStride()
Description
Get stride of array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:108
¶void setBase(clang::Expr* E)
void setBase(clang::Expr* E)
Description
Set base of the array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:88
Parameters
- clang::Expr* E
¶void setColonLocFirst(clang::SourceLocation L)
void setColonLocFirst(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprOpenMP.h:119
Parameters
¶void setColonLocSecond(clang::SourceLocation L)
void setColonLocSecond(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprOpenMP.h:122
Parameters
¶void setLength(clang::Expr* E)
void setLength(clang::Expr* E)
Description
Set length of the array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:105
Parameters
- clang::Expr* E
¶void setLowerBound(clang::Expr* E)
void setLowerBound(clang::Expr* E)
Description
Set lower bound of the array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:99
Parameters
- clang::Expr* E
¶void setRBracketLoc(clang::SourceLocation L)
void setRBracketLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprOpenMP.h:125
Parameters
¶void setStride(clang::Expr* E)
void setStride(clang::Expr* E)
Description
Set length of the array section.
Declared at: clang/include/clang/AST/ExprOpenMP.h:111
Parameters
- clang::Expr* E