================ @@ -1510,41 +1519,41 @@ CallExpr *CallExpr::Create(const ASTContext &Ctx, Expr *Fn, unsigned NumArgs = std::max<unsigned>(Args.size(), MinNumArgs); unsigned SizeOfTrailingObjects = CallExpr::sizeOfTrailingObjects( /*NumPreArgs=*/0, NumArgs, FPFeatures.requiresTrailingStorage()); - void *Mem = - Ctx.Allocate(sizeof(CallExpr) + SizeOfTrailingObjects, alignof(CallExpr)); - return new (Mem) CallExpr(CallExprClass, Fn, /*PreArgs=*/{}, Args, Ty, VK, - RParenLoc, FPFeatures, MinNumArgs, UsesADL); + void *Mem = Ctx.Allocate( + sizeToAllocateForCallExprSubclass<CallExpr>(SizeOfTrailingObjects), + alignof(CallExpr)); + CallExpr *E = + new (Mem) CallExpr(CallExprClass, Fn, /*PreArgs=*/{}, Args, Ty, VK, + RParenLoc, FPFeatures, MinNumArgs, UsesADL); + E->updateTrailingSourceLoc(); ---------------- erichkeane wrote:
Same concern here. We're doing an immediate update, but I wonder if there is value to delaying this call until we are in a 'getBeginLoc`. https://github.com/llvm/llvm-project/pull/141058 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits