[Bug c++/59886] [4.9 Regression] C++ array init optimization results in RANGE_EXPRs in assignments
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 20 17:48:00 GMT 2014
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?
More information about the Gcc-bugs
mailing list