https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63489
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Do you have a testcase that doesn't exhibit obvious undefined behaviour that's easily pointed out with -Wall, such as dividing by uninitialized values? There's a buffer overflow here: for(int i=0; i<2; i++) invp[oldp[i]] = i; Try adding an assertion that oldp[i] is in range.