------- Comment #3 from hjl dot tools at gmail dot com 2008-08-07 13:47 ------- [EMAIL PROTECTED] prev-gcc]$ cat ../zlib/x.c typedef struct gz_stream { char *inbuf; long offset; } gz_stream;
void *malloc(__SIZE_TYPE__ size); long foo (void * file, long offset) { gz_stream *s = (gz_stream*)file; if (s->inbuf == 0) { s->inbuf = malloc (2000); if (s->inbuf == 0) return -1L; __builtin_memset (s->inbuf, 0, 2000); } while (offset > 0) { unsigned int size = 2000; offset -= size; } return s->offset; } [EMAIL PROTECTED] prev-gcc]$ ./xgcc -B./ -O2 -S ../zlib/x.c ../zlib/x.c: In function âfooâ: ../zlib/x.c:23: error: unrecognizable insn: (insn 33 84 34 8 ../zlib/x.c:16 (parallel [ (set (mem:QI (reg:SI 67) [0 S1 A8]) (subreg:QI (reg:SI 69) 0)) (set (reg:SI 67) (plus:SI (reg:SI 67) (const_int 1 [0x1]))) ]) -1 (nil)) ../zlib/x.c:23: internal compiler error: in extract_insn, at recog.c:1988 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [EMAIL PROTECTED] prev-gcc]$ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37048