blob: a862e8bd91c8164c5a6f84c38090efdcc672f5c0 [file] [log] [blame]
// { dg-do compile }
// { dg-options "-std=gnu17 -g" }
struct A { struct A *a; } foo ();
struct B { long b; };
struct C { struct B c; struct A d; } *e;
void
bar (void)
{
int f;
struct C *g;
struct A *h;
for (g = 0, g = e ? (void *) e - (char) (__SIZE_TYPE__) &g->d : 0, h = g ? (&g->d)->a : 0; g;
g = 0, g = h ? (void *) h - (char) (__SIZE_TYPE__) &g->d : 0, h = h ? h->a : 0)
{
f = (int) (__SIZE_TYPE__) g;
foo (((struct B *) g)->b);
}
}