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