111
|
1 /* PR middle-end/69542 */
|
|
2 /* { dg-do compile } */
|
|
3 /* { dg-additional-options "-fcompare-debug" } */
|
|
4
|
|
5 typedef struct A *B;
|
|
6 extern int *a[];
|
|
7 struct C { B b; struct D *d; };
|
|
8 struct A { struct { struct C e[1]; long long f[1]; } u; };
|
|
9 struct D { int g; B h[100]; };
|
|
10 int b, c, e, g;
|
|
11 B d, f;
|
|
12 void foo (void) __attribute__ ((__noreturn__));
|
|
13 int bar (void)
|
|
14 {
|
|
15 int i = 0;
|
|
16 do
|
|
17 {
|
|
18 if ('E' && a[e][0] != 'V')
|
|
19 foo ();
|
|
20 struct D *k = d->u.e[0].d;
|
|
21 B x = k->h[i], o = f->u.e[0].b;
|
|
22 if (b)
|
|
23 return 0;
|
|
24 if (a[g][0] != 'E' && a[g][0] != 'V')
|
|
25 foo ();
|
|
26 struct D *n = o->u.e[0].d;
|
|
27 int r = x->u.f[0];
|
|
28 (void) r;
|
|
29 if (c)
|
|
30 foo ();
|
|
31 B y = n->h[x->u.f[0]];
|
|
32 if (i != y->u.f[0])
|
|
33 return 0;
|
|
34 i++;
|
|
35 }
|
|
36 while (1);
|
|
37 }
|