------- Additional Comments From kazu at cs dot umass dot edu 2005-02-17 02:02 ------- Reduced to:
int foo (char *buf, unsigned int *p) { unsigned int result; unsigned char ch2; unsigned char ch; const char * tmp; buf[0] = 35; tmp = buf; ch = (unsigned char) *tmp; result = 2; ch2 = (unsigned char) buf[1]; if (ch2 <= 32) goto one; switch ((int) ch - 32) { case 1: goto L2; case 4: case 5: case 7: case 15: goto one; default: goto L7; } L2: result = *p; L7: if (result) goto one; return 0; one: return 1; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20017