https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127448
--- Comment #1 from Mikael Morin <mikael at gcc dot gnu.org> ---
(In reply to Mikael Morin from comment #0)
> Failures 23* and 24* need more analysis.
For the 24* failures:
The copy to a temporary:
(*(struct t1[0:] * restrict) atmp.54.data)[S.55] = *(struct t1 *)
(z1._data.data + (sizetype) (((S.55 + D.5217) * D.5219 + D.5202) *
z1._vptr->_size));
is using the size from the vptr as span, which is assuming z1 to be contiguous.
The 23* failures use y1._vptr._size similarly.