blob: ced5c326ac87f2eff44747d43df37117cf463680 [file] [log] [blame]
/* PR middle-end/69542 */
/* { dg-do compile } */
/* { dg-additional-options "-fcompare-debug" } */
typedef struct A *B;
extern int *a[];
struct C { B b; struct D *d; };
struct A { struct { struct C e[1]; long long f[1]; } u; };
struct D { int g; B h[100]; };
int b, c, e, g;
B d, f;
void foo (void) __attribute__ ((__noreturn__));
int bar (void)
{
int i = 0;
do
{
if ('E' && a[e][0] != 'V')
foo ();
struct D *k = d->u.e[0].d;
B x = k->h[i], o = f->u.e[0].b;
if (b)
return 0;
if (a[g][0] != 'E' && a[g][0] != 'V')
foo ();
struct D *n = o->u.e[0].d;
int r = x->u.f[0];
(void) r;
if (c)
foo ();
B y = n->h[x->u.f[0]];
if (i != y->u.f[0])
return 0;
i++;
}
while (1);
}