https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97317
--- Comment #5 from David Binderman <dcb314 at hotmail dot com> --- Reduced C++ source code is class a { public: struct b { int *c; }; enum { j = 1 } e : 2; struct { b c; } d; bool f() const { return e & j; } int *g() const; }; int *a::g() const { return f() ? d.c.c : 0; } a h; void i() { h.g(); h.f(); } Flag -O2 required.