================ @@ -406,6 +406,31 @@ AST_MATCHER(CXXConstructExpr, isSafeSpanTwoParamConstruct) { } return false; } + +AST_MATCHER(ArraySubscriptExpr, isSafeArraySubscript) { + const DeclRefExpr * BaseDRE = dyn_cast_or_null<DeclRefExpr>(Node.getBase()->IgnoreParenImpCasts()); + if (!BaseDRE) + return false; + if (!BaseDRE->getDecl()) + return false; + auto BaseVarDeclTy = BaseDRE->getDecl()->getType(); + if (!BaseVarDeclTy->isConstantArrayType()) + return false; + const auto * CATy = dyn_cast_or_null<ConstantArrayType>(BaseVarDeclTy); ---------------- jkorous-apple wrote:
Take a look getAsConstantArrayType(). https://github.com/llvm/llvm-project/pull/80504 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits