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;
}

Reply via email to