https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90587
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to David Binderman from comment #2) > Here is the reduced C++ code: > > typedef unsigned a; > typedef char b; > typedef struct { > a *c; > } d; > int e(d *f) { > if (f) > return *f->c; > } > a g(d *f) { return e(f); } > typedef struct { > b channel; > } h; > b *j(d *f, int channel, b *dest) { > int k = 80, i; > for (i = 0; i < 4; ++i, k = 1) > if (channel & k) > dest[i] = g(f); > return dest; > } > void l(int, b *dest, b *m) { > int i; > for (i = 0; i < 4; ++i) > dest[i] = m[i]; > } > b n(d *f) { > for (;;) { > h *o; > b *dest; > b p[4]; > if (j(f, o->channel, p)) > l(o->channel, dest, p); > } > } There's missing main function that will call the reduced test-case.