http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59886

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 31900
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31900&action=edit
gcc49-pr59886.patch

Untested partial patch.  I believe we want to increment the num_split_elts for
all the elements in the range, not just the first one.  And I think we need a
loop around the inner split_nonconstant_init_1 emitted code, e.g. as done in
the attached patch (completely untested).  What the patch doesn't handle and
probably has to is a cleanup for it though, which if the construction throws in
the second or later iteration will just destruct everything the earlier
iterations constructed, right?  I think the current iteration will be already
properly destructed (or not constructed at all).  Jason, can you please have a
look and take this over?

Reply via email to