https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86919
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-08-21 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. But you'll have a hard time here since in _6 = (sizetype) j_3(D); _1 = &b + _6; _2 = __builtin_strlen (_1); the fact that you access a different dimension is lost. Consider const char b[][3] = { "123", "2" }; where the "123" string overflows into the next dimension when you ask for strlen (b).