https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23331
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- The FIXME is gone and we transform this to f () { int a; char _2; int _3; <bb 2>: _2 = "a"[13]; _3 = (int) _2; return _3; } which is good enough (we could make CCP more optimistic, treating _2 as UNDEFINED and finally replacing remaining UNDEFINED uses with __builtin_unreachable ()). But that's a different bug.