https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83170
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> ---
Reduced C++ code seems to be:
int a;
enum bk { bm };
enum bn { bo };
enum { bp, bq, br, bs };
class d {
public:
d();
char b;
void bv(char, bn);
char bw[];
};
d::d() { bv(b, bo); }
short c;
void d::bv(char e, bn f) {
bw[bp] = e;
bw[bq] = f;
bw[br] = c >> 8;
bw[bs] = c;
}
class g {
bool cb();
long cc(bk, const char *, unsigned, char *, unsigned, int, int *);
void cd(d *, int);
};
bool g::cb() {
int *cg;
char ch[1];
cc(bm, nullptr, 0, ch, sizeof(ch), a, cg);
}
long g::cc(bk e, const char *, unsigned, char *, unsigned, int h, int *) {
d cl;
cl.bv(e, bo);
cd(&cl, h);
}