https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101466
--- Comment #6 from cqwrteur <unlvsur at live dot com> --- (In reply to Andrew Pinski from comment #4) > Reduced testcase: > extern void g() __attribute__((noreturn)); > > void square(int t, int *tt) > { > if (t == 0) g(); > tt[0] = 0; > if (t == 1) g(); > tt[1] = 0; > if (t == 2) g(); > tt[2] = 0; > if (t == 3) g(); > tt[3] = 0; > if (t == 4) g(); > tt[4] = 0; > } I think the reduced testcase should be extern void g() __attribute__((noreturn)); void square(unsigned t, int *tt) { if (t<=0) g(); tt[0] = 0; if (t<=1) g(); tt[1] = 0; if (t<=2) g(); tt[2] = 0; if (t<=3) g(); tt[3] = 0; if (t<=4) g(); tt[4] = 0; }