https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90796
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marxin at gcc dot gnu.org, | |matz at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Known to work| |7.4.0 Target Milestone|--- |8.4 Known to fail| |10.0, 8.3.0, 9.1.0 --- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- Yes, it started with r255467. There's a simplified test-case: $ cat pr90796.c unsigned b[11]; unsigned c; int d, e, f; char en; int main() { char b[100]; for (; e < 6; e += 3) { __builtin_sprintf(b, "%u", b[0]); for (; c < 9; c++) for (d = 2; d < 11; d++) { f = b[c + 2] ^ 9; b[c] = f; } } __builtin_printf("b:%s\n", b); if (__builtin_strcmp (b, "9") != 0) __builtin_abort (); return 0; } $ gcc pr90796.c -O3 && ./a.out b:0 Aborted (core dumped)