aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr57993.c
blob: e73b73f4fa3bf51802f6b7ba3b0c27f419e8e822 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* This ICEd prior to fixing PR57993.  */
/* { dg-do compile } */

int a, b, c, d;
char e;
unsigned g;

void f(void)
{
    int h;

    for(; d; d++)
        if(d)
lbl:
            g + a || (d = 0);

    b && (a = e);

    for(h = 0; h < 1; ++h)
    {
        h = c ? : (d = 0);
        g = a = (e | 0);
    }

    if(a)
        goto lbl;

    a = e = 0;
    goto lbl;
}