------- Comment #7 from rguenth at gcc dot gnu dot org 2006-10-14 09:26 ------- It's a VRP bug :/ Before VRP we have
D.6958_313 = cr_285 * cr_285; D.6959_314 = (size_t) D.6958_313; D.6960_315 = cr_285 + 1; memset (number_287, D.6960_315, D.6959_314); and after we get introduced a spurious, uninitialized cr_2738 D.6958_313 = cr_285 * cr_2738; D.6959_314 = (size_t) D.6958_313; D.6960_315 = cr_285 + 1; memset (number_287, D.6960_315, D.6959_314); this get's generated by cr_2738 = ASSERT_EXPR <cr_285, x_1 < cr_285>; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28545