So, is it just me or does execute/930529-1.c invoke undefined or 
implementation defined behavior due to its reliance upon overflow
behavior for signed types?

In particular look at the control for the second loop:

  int i;
[ ... ]

  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.


Or am I just having a major stupidity leak today?

Jeff

Reply via email to