------- Comment #13 from rguenth at gcc dot gnu dot org 2009-03-31 11:31 ------- Reduced testcase:
struct re_pattern_buffer { unsigned char *buffer; unsigned long int allocated; }; void byte_regex_compile (struct re_pattern_buffer *bufp, unsigned char *begalt, unsigned char *b) { unsigned char *pfrom; unsigned char *pto; while ((unsigned long) (b - bufp->buffer + 3) > bufp->allocated) { unsigned char *old_buffer = bufp->buffer; bufp->allocated <<= 1; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; b += incr; } } pfrom = b; pto = b + 3; while (pfrom != begalt) *--pto = *--pfrom; } ./cc1 -quiet -O2 regex.3.3.i -Wall regex.3.3.i: In function 'byte_regex_compile': regex.3.3.i:5: internal compiler error: in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:420 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37221