+2010-05-0 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43985
+ * trans-types.c (gfc_sym_type): Mark Cray pointees as
+ GFC_POINTER_TYPE_P.
+
2010-05-05 Daniel Franke <franke.daniel@gmail.com>
- * resolve.c (traverse_data_list): Rephrase error message for
- non-constant bounds in data-implied-do.
+ * resolve.c (traverse_data_list): Rephrase error message for
+ non-constant bounds in data-implied-do.
2010-05-05 Daniel Franke <franke.daniel@gmail.com>
restricted);
byref = 0;
}
+
+ if (sym->attr.cray_pointee)
+ GFC_POINTER_TYPE_P (type) = 1;
}
else
{
{
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;
}
+2010-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43985
+ * gfortran.dg/gomp/crayptr5.f90: New test case.
+
2010-05-05 Jason Merrill <jason@redhat.com>
PR debug/43370
--- /dev/null
+! { dg-do compile }
+! { dg-options "-fopenmp -fcray-pointer" }
+!
+! PR fortran/43985
+
+subroutine pete(A)
+ real(8) :: A
+ print *, 'pete got ',A
+ if (A /= 3.0) call abort()
+end subroutine pete
+
+ subroutine bob()
+ implicit none
+ real(8) peted
+ pointer (ipeted, peted(*))
+ integer(4) sz
+ ipeted = malloc(5*8)
+ peted(1:5) = [ 1.,2.,3.,4.,5.]
+ sz = 3
+!$omp parallel default(shared)
+ call pete(peted(sz))
+!$omp end parallel
+ return
+ end subroutine bob
+
+call bob()
+end