------- Comment #3 from rguenth at gcc dot gnu dot org 2006-12-09 14:34 ------- Uh, indeed the testcase is invalid. Using unsigned int or -fwrapv instead makes it valid. But we still have
strength_test10 (data) { unsigned int ivtmp.31; int * pretmp.23; int stop; <bb 2>: stop = *(data + 12B); pretmp.23 = data + 8B; ivtmp.31 = 0; <L0>:; *((int *) ((unsigned int) *pretmp.23 * 4) + data) = (int) ivtmp.31; ivtmp.31 = ivtmp.31 + 21; if (stop > (int) (ivtmp.31 * 1022611261)) goto <L0>; else goto <L1>; <L1>:; return; } so we don't fix up the exit test, also with unsigned. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rakdver at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30103