@@ -3918,8 +3918,6 @@ class Sema final {
3918
3918
bool BestCase,
3919
3919
MSInheritanceModel Model);
3920
3920
3921
- bool CheckCountedByAttr(Scope *Scope, const FieldDecl *FD);
3922
-
3923
3921
EnforceTCBAttr *mergeEnforceTCBAttr(Decl *D, const EnforceTCBAttr &AL);
3924
3922
EnforceTCBLeafAttr *mergeEnforceTCBLeafAttr(Decl *D,
3925
3923
const EnforceTCBLeafAttr &AL);
@@ -5232,6 +5230,7 @@ class Sema final {
5232
5230
enum ExpressionKind {
5233
5231
EK_Decltype,
5234
5232
EK_TemplateArgument,
5233
+ EK_BoundsAttrArgument,
5235
5234
EK_Other
5236
5235
} ExprContext;
5237
5236
@@ -5349,6 +5348,12 @@ class Sema final {
5349
5348
return ExprEvalContexts.back();
5350
5349
};
5351
5350
5351
+ bool isBoundsAttrContext() const {
5352
+ return ExprEvalContexts.back().ExprContext ==
5353
+ ExpressionEvaluationContextRecord::ExpressionKind::
5354
+ EK_BoundsAttrArgument;
5355
+ }
5356
+
5352
5357
/// Increment when we find a reference; decrement when we find an ignored
5353
5358
/// assignment. Ultimately the value is 0 if every reference is an ignored
5354
5359
/// assignment.
@@ -11715,6 +11720,8 @@ class Sema final {
11715
11720
QualType BuildMatrixType(QualType T, Expr *NumRows, Expr *NumColumns,
11716
11721
SourceLocation AttrLoc);
11717
11722
11723
+ QualType BuildCountAttributedArrayType(QualType WrappedTy, Expr *CountExpr);
11724
+
11718
11725
QualType BuildAddressSpaceAttr(QualType &T, LangAS ASIdx, Expr *AddrSpace,
11719
11726
SourceLocation AttrLoc);
11720
11727
0 commit comments