[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument

2010-05-06 Thread burnus at gcc dot gnu dot org


--- 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

2010-05-06 Thread burnus at gcc dot gnu dot org


--- 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

2010-05-05 Thread burnus at gcc dot gnu dot org


--- 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

2010-05-05 Thread burnus at gcc dot gnu dot org


--- 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

2010-05-04 Thread kargl at gcc dot gnu dot org


--- 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

2010-05-04 Thread burnus at gcc dot gnu dot org


--- 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

2010-05-04 Thread burnus at gcc dot gnu dot org


--- 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