https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109473
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot
gnu.org
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look. The following gets rid of undefined behavior and makes it
ICE with -fno-checking as well (but in forwprop then).
struct spa_buffer {
__UINT32_TYPE__ *metas;
};
void do_port_use_buffers(struct spa_buffer **buffers, void *mem)
{
for (int i = 0; i < 128; i++) {
void *endptr;
for (int j = 0; j < 128; j++)
endptr = (void *)((__UINTPTR_TYPE__)endptr + buffers[i]->metas[j]);
if (endptr > mem)
return;
}
}