for (i = ((unsigned) ~0 >> 1) - 3; i <= ((unsigned) ~0 >> 1) + 3; i++)

i <= ((unsigned)~0>>1) + 3

Seems like it overflows to me, or would cause "i" to have to
overflow to terminate the loop.

Yes, the two expression are respectively 0x7FFFFFFC and 0x80000002.

It ought to work with -fwrapv, though.

Paolo

Reply via email to