------- Additional Comments From belyshev at depni dot sinp dot msu dot ru 2005-08-19 01:03 ------- Single-file testcase, compile with "-march=i486 -O2 -fomit-frame-pointer -fno-strict-aliasing -fgcse-after-reload":
bar () { exit (0); } baz (x) { return x; } foo () { abort (); } ker0 (int *x0, int a) { int *x, *c, *d, p, av, i, j, k, r, t, n, m, *dd; n = x0; m = x0 [0]; x = baz (x0); if (a) { if (m) foo (); for (k = 1; k <= n; k ++) ((int **) x) [k] = foo (x [k]); } for (k = 1; k < m; k ++) c [k] = 0; av = k; for (k = 0;; k ++) { j = bar (x [k], 0, 0, 0); if (j > m) { r ++; for (j = 1; j < k; j ++) if (d [j]) ((int **) x) [k] [d [j]] = 0; } else { foo (0, x [j]); for (i = k + 1; i; i ++) ((int *) x) [j] = 0; for (t = 1; m; ) if (j) { p = x [t]; for (i = k + 1; i; i ++) x [t] = foo (x [i], foo (p, x [j])); if (av) foo (k); } } } *dd = r; } int main (void) { int x = 0; ker0 (&x, 0); abort (); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453