[Bug c++/56217] ICE: OpenMP: when combining shared() and a move constructor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56217 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-19 17:19:41 UTC --- Author: jakub Date: Tue Feb 19 17:19:36 2013 New Revision: 196141 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=196141 Log: Backported from mainline 2013-02-06 Jakub Jelinek ja...@redhat.com PR middle-end/56217 * omp-low.c (use_pointer_for_field): Return false if lower_send_shared_vars doesn't generate any copy-out code. * g++.dg/gomp/pr56217.C: New test. * testsuite/libgomp.c++/pr56217.C: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/gomp/pr56217.C branches/gcc-4_7-branch/libgomp/testsuite/libgomp.c++/pr56217.C Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/omp-low.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog branches/gcc-4_7-branch/libgomp/ChangeLog
[Bug c++/56217] ICE: OpenMP: when combining shared() and a move constructor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56217 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-19 17:38:02 UTC --- Fixed for 4.7.3+.
[Bug c++/56217] ICE: OpenMP: when combining shared() and a move constructor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56217 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Severity|blocker |normal
[Bug c++/56217] ICE: OpenMP: when combining shared() and a move constructor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56217 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||openmp Status|UNCONFIRMED |NEW Last reconfirmed||2013-02-06 Ever Confirmed|0 |1 --- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2013-02-06 09:52:48 UTC --- Confirmed. On trunk we ICE with t.C: In function 'ptrint f()': t.C:15:15: error: invalid conversion in return statement return pt; ^ struct ptr struct ptr return pt.5; t.C:15:15: internal compiler error: verify_gimple failed 0xcfd441 verify_gimple_in_cfg(function*) /space/rguenther/src/svn/trunk/gcc/tree-cfg.c:4747
[Bug c++/56217] ICE: OpenMP: when combining shared() and a move constructor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56217 --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-06 10:35:02 UTC --- Author: jakub Date: Wed Feb 6 10:34:53 2013 New Revision: 195796 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195796 Log: PR middle-end/56217 * omp-low.c (use_pointer_for_field): Return false if lower_send_shared_vars doesn't generate any copy-out code. * g++.dg/gomp/pr56217.C: New test. * testsuite/libgomp.c++/pr56217.C: New test. Added: trunk/gcc/testsuite/g++.dg/gomp/pr56217.C trunk/libgomp/testsuite/libgomp.c++/pr56217.C Modified: trunk/gcc/ChangeLog trunk/gcc/omp-low.c trunk/gcc/testsuite/ChangeLog trunk/libgomp/ChangeLog
[Bug c++/56217] ICE: OpenMP: when combining shared() and a move constructor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56217 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-06 10:43:34 UTC --- Should be fixed on the trunk so far. Note your testcase is invalid, without the taskwait I've added, it relies on NRV and even with NRV, by the time the task can run the temporary result of f() can be destructed already.
[Bug c++/56217] ICE: OpenMP: when combining shared() and a move constructor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56217 --- Comment #4 from Jim Radford radford at blackbean dot org 2013-02-06 20:46:42 UTC --- (In reply to comment #3) Should be fixed on the trunk Thanks! Note your testcase is invalid, without the taskwait I've added, it relies on NRV and even with NRV, by the time the task can run the temporary result of f() can be destructed already. I had the taskwait in my original. Still, thanks for the explanation; it adds to my nascent mental model of openmp. Maybe one day I'll get something to compile so I can try it out, but first I'm off to compile gcc!