[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #13 from pinskia at gcc dot gnu dot org 2009-10-14 04:47 --- Fixed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED Target Milestone|--- |4.4.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #11 from jason at gcc dot gnu dot org 2009-08-06 16:25 --- Subject: Bug 40948 Author: jason Date: Thu Aug 6 16:25:19 2009 New Revision: 150529 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=150529 Log: PR c++/40948 * init.c (build_vec_init): Evaluate the initializer before starting the initialization try block. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/init.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/ext/complit12.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #12 from jason at gcc dot gnu dot org 2009-08-06 17:22 --- Subject: Bug 40948 Author: jason Date: Thu Aug 6 17:22:19 2009 New Revision: 150533 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=150533 Log: PR c++/40948 * init.c (build_vec_init): Evaluate the initializer before starting the initialization try block. Modified: branches/gcc-4_4-branch/gcc/cp/ChangeLog branches/gcc-4_4-branch/gcc/cp/init.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/g++.dg/ext/complit12.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #1 from lindevel at gmx dot net 2009-08-03 09:17 --- Created an attachment (id=18286) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18286action=view) TestClass source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #2 from lindevel at gmx dot net 2009-08-03 09:21 --- Created an attachment (id=18287) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18287action=view) TestClass preprocessed source (compressed) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #3 from jakub at gcc dot gnu dot org 2009-08-03 09:34 --- Indeed, GIMPLE_WITH_CLEANUP_EXPR in the IL after gimplification. On the trunk this ICEs too, with type verification failure. Distilling a testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #4 from jakub at gcc dot gnu dot org 2009-08-03 11:04 --- Simplified testcase: struct M { M () {} ~M () {} }; struct S { S (); M m[1]; }; S::S () : m ((M[1]) { M () }) { } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #5 from jakub at gcc dot gnu dot org 2009-08-03 11:09 --- This ICEs since somewhen between r134096 and r134281, likely PR35708. -- jakub at gcc dot gnu dot org changed: What|Removed |Added CC||jason at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #6 from jakub at gcc dot gnu dot org 2009-08-03 12:07 --- ctor initializer isn't needed, this ICEs as well: struct M { M () {} ~M () {} }; void foo () { M m[1] = (M[1]) { M () }; } and the ICE on the trunk is for the same reason, GIMPLE_WITH_CLEANUP_EXPR left in the IL during gimplification, presumably because there wasn't any immediately surrounding CLEANUP_POINT_EXPR. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #7 from jakub at gcc dot gnu dot org 2009-08-03 14:57 --- Seems this is cleanup of the finish_compound_literal returned TARGET_EXPR vs. TRY_BLOCK added by build_vec_init for the from_array != 2 case. The TARGET_EXPR with cleanup is only referenced from within stmts inside of the TRY_BLOCK, yet the corresponding CLEANUP_POINT_EXPR is only added outside of the TRY_BLOCK and thus gimplification doesn't find the GIMPLE_WITH_CLEANUP_EXPR. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #8 from jakub at gcc dot gnu dot org 2009-08-03 15:11 --- Created an attachment (id=18290) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18290action=view) gcc45-pr40948.patch Untested patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948