https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106249
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 CC| |jakub at gcc dot gnu.org, | |jason at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Status|UNCONFIRMED |NEW Last reconfirmed| |2022-07-11 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. The issue is that __builtin_unreachable () is 'const' while __builtin_trap () is neither 'const' nor 'pure'. Passes inserting __builtin_unreachable () rightfully expect 'unreachable' semantics. IMHO changing __builtin_unreachable to __builtin_trap under-the-hood was a very wrong thing to do. Can we reconsider that please?