// { dg-do compile } | |
// { dg-options "-O2 -fsanitize=address" } | |
struct a { | |
int b; | |
} * c; | |
struct d { | |
d *e; | |
}; | |
struct f { | |
bool done; | |
d *g; | |
}; | |
int h; | |
int i(f *j) { | |
if (j->g) { | |
j->g = j->g->e; | |
return h; | |
} | |
j->done = true; | |
return 0; | |
} | |
void k(bool j) { c->b = j; } | |
void l() { | |
f a; | |
for (; !(&a)->done; i(&a)) | |
k(true); | |
} |