https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108737
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Apparent miscompile of |[13 Regression] Apparent |infinite loop on gcc trunk |miscompile of infinite loop |in cddce2 pass |on gcc trunk in cddce2 pass Last reconfirmed| |2023-02-09 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Target Milestone|--- |13.0 Keywords| |needs-bisection Component|c++ |tree-optimization Version|unknown |13.0 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- C++ has the forward progress guarantee, in case 'x' is false there's an endless loop which is undefined behavior. Now, the same happens with C and with -fno-finite-loops, so there's something amiss here. -funswitch-loops is necessary, but GCC 12 doesn't seem to be affected ...