https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111444
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Slightly reduced testcase: int a = 3, d, e; const int **g; static void foo (int **i, int **j) { const int *k[46]; const int **l = &k[5]; *j = &e; for (g = l; d; d = d + 1) ; **i = 0; } int main () { int *m = &a; foo (&m, &m); if (a != 3) __builtin_abort (); } This goes wrong during PRE.