https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84192
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-02-03 CC| |msebor at gcc dot gnu.org Known to work| |4.9.4, 6.4.0 Ever confirmed|0 |1 Known to fail| |5.4.0, 7.3.0, 8.0 --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- Bisection points to r217670 (GCC 5.0.0) as the first revision that fails. Before then GCC would print just: pr84192.C: In function ‘bool foo()’: pr84192.C:3:20: error: could not convert ‘<statement>’ from ‘void’ to ‘bool’ return ({ return true; }) && false; ^ pr84192.C:4:1: error: control reaches end of non-void function [-Werror=return-type] } ^ But then the ICE became latent with r230365 (Merge C++ delayed folding branch in GCC 6), but then has started to ICE again with r238559: