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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
It is UB on ilp32, but for lp64 it should be well defined.
Started with r9-1730-g9e392989053729d4d50
Slightly adjusted so that it is valid even on ilp32:
char b = 1;

int
main ()
{
  while ((short) ((long long) (unsigned long long) (-__INT_MAX__ - 1) / (long
long) (b ? -1 : 0)))
    ;
}

Reply via email to