[Bug c++/30703] ICE Segmentation fault on using OpenMP
--- Comment #5 from jakub at gcc dot gnu dot org 2007-02-08 23:31 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30703
[Bug c++/30703] ICE Segmentation fault on using OpenMP
--- Comment #3 from jakub at gcc dot gnu dot org 2007-02-07 12:16 --- Subject: Bug 30703 Author: jakub Date: Wed Feb 7 12:16:22 2007 New Revision: 121688 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=121688 Log: PR c++/30703 * gimplify.c (gimplify_scan_omp_clauses): Remove special casing of INDIRECT_REF RESULT_DECL. * cp-gimplify.c (cp_genericize_r): Don't dereference invisiref parameters and result decls in omp clauses. (cxx_omp_privatize_by_reference): Pass also invisiref PARM_DECLs by reference. * testsuite/libgomp.c++/pr30703.C: New test. Added: trunk/libgomp/testsuite/libgomp.c++/pr30703.C Modified: trunk/gcc/ChangeLog trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-gimplify.c trunk/gcc/gimplify.c trunk/libgomp/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30703
[Bug c++/30703] ICE Segmentation fault on using OpenMP
--- Comment #4 from jakub at gcc dot gnu dot org 2007-02-07 13:37 --- Subject: Bug 30703 Author: jakub Date: Wed Feb 7 13:37:29 2007 New Revision: 121690 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=121690 Log: PR c++/30703 * gimplify.c (gimplify_scan_omp_clauses): Remove special casing of INDIRECT_REF RESULT_DECL. * cp-gimplify.c (cp_genericize_r): Don't dereference invisiref parameters and result decls in omp clauses. (cxx_omp_privatize_by_reference): Pass also invisiref PARM_DECLs by reference. * testsuite/libgomp.c++/pr30703.C: New test. Added: branches/gcc-4_2-branch/libgomp/testsuite/libgomp.c++/pr30703.C Modified: branches/gcc-4_2-branch/gcc/ChangeLog branches/gcc-4_2-branch/gcc/cp/ChangeLog branches/gcc-4_2-branch/gcc/cp/cp-gimplify.c branches/gcc-4_2-branch/gcc/gimplify.c branches/gcc-4_2-branch/libgomp/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30703
[Bug c++/30703] ICE Segmentation fault on using OpenMP
--- Comment #2 from jakub at gcc dot gnu dot org 2007-02-06 10:11 --- Simplified testcase: struct A { A() {} ~A() {} int i; }; void foo (A a) { #pragma omp parallel firstprivate (a) a.i++; } The problem is that while OpenMP 2.5 prohibits firstprivate etc. vars having reference type (and we properly diagnose it), cp_genericize_r changes TREE_ADDRESSABLE class parameters to reference type internally and this is something cc1plus should handle. -- jakub at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-02-06 10:11:01 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30703
[Bug c++/30703] ICE Segmentation fault on using OpenMP
-- jakub at gcc dot gnu dot org changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc- ||patches/2007- ||02/msg00501.html Target Milestone|--- |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30703