/* OptCmp1 messed up with labels */ #include static int failures = 0; static unsigned int z = 0xFF23; int main(void) { register unsigned int x = 0x200; register unsigned int y = 0; do { ++y; } while (--x); if (y != 0x200) { printf("y should be 0x200, not 0x%X.\n", y); ++failures;; } if ((z -= 0x23)) { /* Passed -- non-zero z looks like non-zero. */ } else { /* Failed -- only the low byte of z was tested. */ printf("Test thinks non-zero z is zero.\n"); ++failures; } return failures; }