https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115131

--- Comment #4 from Sam James <sjames at gcc dot gnu.org> ---
Reduced:
```
struct recv_frame_hdr {
  int *adapter
};
union recv_frame {
  struct recv_frame_hdr u
};
char *_rtw_init_recv_priv_precvpriv_0;
int _rtw_init_recv_priv_padapter, _rtw_init_recv_priv_i;
void _rtw_init_recv_priv() {
  union recv_frame *precvframe;
  _rtw_init_recv_priv_precvpriv_0 = (char *)(0 / 0 << 8);
  precvframe = (union recv_frame *)_rtw_init_recv_priv_precvpriv_0;
  _rtw_init_recv_priv_i = 0;
  for (; _rtw_init_recv_priv_i < 6; _rtw_init_recv_priv_i++) {
    precvframe->u.adapter = &_rtw_init_recv_priv_padapter;
    precvframe++;
  }
}
```

But it has UB with the division by zero.

Reply via email to