https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64280
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |trippels at gcc dot gnu.org --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- reduced test case: class A { public: A (); }; class B { public: B (int); operator void *() { return m_fn1 () ? 0 : this; } int m_fn1 (); }; typedef int jmp_buf[]; struct C { jmp_buf cond_; }; class F { C what_; bool m_fn2 (); }; int _setjmp (int[]); void longjmp (); class D { public: D () { longjmp (); } }; bool F::m_fn2 () { B a (0); if (a) if (_setjmp (what_.cond_)) return 0; else D (); A b; }