================ @@ -956,37 +956,55 @@ static llvm::Value *getArrayIndexingBound(CodeGenFunction &CGF, return nullptr; } -const Expr * -CodeGenFunction::BuildCountedByFieldExpr(const Expr *Base, - const ValueDecl *CountedByVD) { +Expr *CodeGenFunction::BuildCountedByFieldExpr(const Expr *Base, + const ValueDecl *CountedByVD) { // Find the outer struct expr (i.e. p in p->a.b.c.d). Expr *CountedByExpr = const_cast<Expr *>(Base)->IgnoreParenImpCasts(); + // Get the enclosing struct, but not the outermost enclosing struct. + const DeclContext *DC = CountedByVD->getLexicalDeclContext(); + const RecordDecl *CountedByRD = dyn_cast<RecordDecl>(DC); ---------------- bwendling wrote:
Done. https://github.com/llvm/llvm-project/pull/73465 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits