https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86925
--- Comment #2 from David Binderman <dcb314 at hotmail dot com> --- Reduced C code is: typedef enum { a } b; d() { b c; do if (__builtin_expect(({ int e; if (c == a) e = 1; else e = 0; e; }), 0)) break; while (__builtin_expect(({ ({ f(); }); }), 0)); if (__builtin_expect(({ int e; if (c == a) e = 1; else e = 0; e; }), 0)) g(); }