https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71224
--- Comment #1 from Iain Buclaw <ibuclaw at gdcproject dot org> --- Oh, and also happens if I move the pointer + length adjustment into the loop. --- void setlength(Array* pthis, size_t nlength) { Array aggr = {.length=pthis->length, .ptr=pthis->ptr}; for (size_t key = 0; key < aggr.length - nlength; key++) aggr.ptr[key + nlength] = 1; } ---