[clang] [clang] Implement -Walloc-size diagnostic option (PR #150028)
Vladimir Vuksanovic via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 6 02:40:02 PDT 2025
================
@@ -7818,6 +7819,35 @@ ExprResult Sema::CheckExtVectorCast(SourceRange R, QualType DestTy,
return prepareVectorSplat(DestTy, CastExpr);
}
+/// Check that a call to alloc_size function specifies sufficient space for the
+/// destination type.
+static void CheckSufficientAllocSize(Sema &S, QualType DestType,
+ const Expr *E) {
+ QualType SourceType = E->getType();
+ if (!DestType->isPointerType() || !SourceType->isPointerType() ||
+ DestType == SourceType)
+ return;
+
+ const auto *CE = dyn_cast<CallExpr>(E->IgnoreCasts());
----------------
vvuksanovic wrote:
It should be fine to skip all casts (as long as they are valid) and we do want to skip explicit casts like `(void*)malloc(...)`. Parentheses should be skipped though, that is now corrected.
https://github.com/llvm/llvm-project/pull/150028
More information about the cfe-commits
mailing list