Skip to content

Commit 5e2c059

Browse files
committed
Update vec_items docstring
1 parent 0190cd2 commit 5e2c059

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

mypyc/irbuild/vec.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,12 @@ def vec_len_native(builder: LowLevelIRBuilder, val: Value) -> Value:
236236

237237

238238
def vec_items(builder: LowLevelIRBuilder, vecobj: Value) -> Value:
239+
"""Return pointer to first item in vec's buf.
240+
241+
The caller must ensure buf is not NULL (i.e., vec is non-empty).
242+
Empty vecs have buf=NULL, and computing &NULL->items is undefined
243+
behavior that GCC -O3 can exploit to miscompile surrounding code.
244+
"""
239245
vtype = cast(RVec, vecobj.type)
240246
buf = builder.get_element(vecobj, "buf")
241247
return builder.add(GetElementPtr(buf, vtype.buf_type, "items"))

0 commit comments

Comments
 (0)