http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53135
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-08-20 14:03:39 UTC --- Alex, the patch is ok for trunk and 4.7 branch. That said, with similar code just appearing not in call site parameter, but in a .debug_loc section we'd ICE anyway, as .debug_loc has a hard limit of 64K, and furthermore we should do a better job on this testcase, instead of creating such a huge expression which keeps recomputing the same values again and again introduce some kind of temporaries in the expression, if some expression occurs more than a few times, compute it into a temporary first (on the DWARF stack) and then just pick it when needed, drop at the end.