Don <> changed:

           What    |Removed                     |Added
            Summary|ICE(go.c): Multiple         |ICE(go.c): when function
                   |assignments inside a        |takes too long to optimize,
                   |function, only with -O.     |only with -O.

--- Comment #3 from Don <> 2010-01-11 21:10:35 PST ---
The problem is simply that the optimiser needs too much time. The optimiser
loops for a maximum of 200 times, but to optimize this example requires 290
On the line it's faulting on:

-    assert(++iter < 200);
+    assert(++iter < 290);

However, there'll always be _some_ example where this happens. So a different
approach is required. Maybe after 200 check that the number of elements is
still decreasing on each pass through the loop; if it is, then just silently
exit the loop without ICEing.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to