[clang] [clang] add array out-of-bounds access constraints using llvm.assume (PR #159046)
Michael Kruse via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 6 01:56:13 PDT 2025
================
@@ -4610,6 +4627,26 @@ void CodeGenFunction::EmitArrayBoundsConstraints(const ArraySubscriptExpr *E,
if (ArraySize == 0)
return;
+ // Don't generate assumes for flexible array member pattern.
+ // Arrays of size 1 in structs are often used as placeholders for
+ // variable-length data (pre-C99 flexible array member idiom.)
+ if (ArraySize == 1) {
----------------
Meinersbur wrote:
The idiom can also be [zero-length array](https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html).
https://github.com/llvm/llvm-project/pull/159046
More information about the cfe-commits
mailing list