[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
--- Comment #6 from burnus at gcc dot gnu dot org 2010-05-06 09:26 --- Subject: Bug 43985 Author: burnus Date: Thu May 6 09:26:16 2010 New Revision: 159101 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159101 Log: 2010-05-06 Tobias Burnus bur...@net-b.de PR fortran/43985 * trans-types.c (gfc_sym_type): Mark Cray pointees as GFC_POINTER_TYPE_P. 2010-05-06 Tobias Burnus bur...@net-b.de PR fortran/43985 * gfortran.dg/gomp/crayptr5.f90: New test case. Added: branches/gcc-4_5-branch/gcc/testsuite/gfortran.dg/gomp/crayptr5.f90 Modified: branches/gcc-4_5-branch/gcc/fortran/ChangeLog branches/gcc-4_5-branch/gcc/fortran/trans-types.c branches/gcc-4_5-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985
[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
--- Comment #7 from burnus at gcc dot gnu dot org 2010-05-06 09:27 --- FIXED on the 4.6 trunk and the 4.5 branch. Thanks for the report! -- burnus at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985
[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
--- Comment #4 from burnus at gcc dot gnu dot org 2010-05-05 11:53 --- (In reply to comment #3) Lightly tested patch: And works. Thus submitted: http://gcc.gnu.org/ml/gcc-patches/2010-05/msg00275.html -- burnus at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|langton at gcc dot gnu dot |burnus at gcc dot gnu dot |org |org Status|NEW |ASSIGNED Last reconfirmed|2010-05-04 19:58:35 |2010-05-05 11:53:45 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985
[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
--- Comment #5 from burnus at gcc dot gnu dot org 2010-05-05 22:11 --- Subject: Bug 43985 Author: burnus Date: Wed May 5 22:11:14 2010 New Revision: 159086 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159086 Log: 2010-05-06 Tobias Burnus bur...@net-b.de PR fortran/43985 * trans-types.c (gfc_sym_type): Mark Cray pointees as GFC_POINTER_TYPE_P. 2010-05-06 Tobias Burnus bur...@net-b.de PR fortran/43985 * gfortran.dg/gomp/crayptr5.f90: New test case. Added: trunk/gcc/testsuite/gfortran.dg/gomp/crayptr5.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-types.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985
[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
--- Comment #1 from kargl at gcc dot gnu dot org 2010-05-04 20:00 --- Whoops regresion with ss in the summary line. -- kargl at gcc dot gnu dot org changed: What|Removed |Added Summary|[regresion 4.5/4.6] ICE when|[4.5/4.6 Regression] ICE |assumed size cray-pointee |when assumed size cray- |passed as argument |pointee passed as argument http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985
[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
--- Comment #2 from burnus at gcc dot gnu dot org 2010-05-04 21:39 --- ==2733== Invalid read of size 2 ==2733==at 0x70EEBE: omp_add_variable (gimplify.c:5448) ==2733==by 0x70F3A0: omp_notice_variable (gimplify.c:5558) ==2733==by 0x70F67B: gimplify_var_or_parm_decl (gimplify.c:1833) ==2733==by 0x7119D4: gimplify_expr (gimplify.c:6950) Dump (with additionally initializing the data via ipeted = malloc(5*8) sz = 3 bob () { integer(kind=8) ipeted; real(kind=8)[0:] * peted [value-expr: (real(kind=8)[0:] *) ipeted]; integer(kind=4) sz; { static integer(kind=8) C.1539 = 40; ipeted = _gfortran_malloc (C.1539); } sz = 3; #pragma omp parallel default(shared) { { pete ((*peted)[(integer(kind=8)) sz + -1]); } } goto __return_bob; __return_bob:; } -- burnus at gcc dot gnu dot org changed: What|Removed |Added Keywords||ice-on-valid-code, openmp http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985
[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
--- Comment #3 from burnus at gcc dot gnu dot org 2010-05-04 22:08 --- Lightly tested patch: --- a/gcc/fortran/trans-types.c +++ b/gcc/fortran/trans-types.c @@ -1793,6 +1804,9 @@ gfc_sym_type (gfc_symbol * sym) restricted); byref = 0; } + + if (sym-attr.cray_pointee) + GFC_POINTER_TYPE_P (type) = 1; } else { @@ -1808,7 +1822,7 @@ gfc_sym_type (gfc_symbol * sym) { if (sym-attr.allocatable || sym-attr.pointer) type = gfc_build_pointer_type (sym, type); - if (sym-attr.pointer) + if (sym-attr.pointer || sym-attr.cray_pointee) GFC_POINTER_TYPE_P (type) = 1; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985