+2016-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/77666
+ * trans-openmp.c (gfc_omp_private_outer_ref): Return true even for
+ references to allocatable arrays.
+
2016-09-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
{
tree type = TREE_TYPE (decl);
+ if (gfc_omp_privatize_by_reference (decl))
+ type = TREE_TYPE (type);
+
if (GFC_DESCRIPTOR_TYPE_P (type)
&& GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_ALLOCATABLE)
return true;
if (GFC_DECL_GET_SCALAR_ALLOCATABLE (decl))
return true;
- if (gfc_omp_privatize_by_reference (decl))
- type = TREE_TYPE (type);
-
if (gfc_has_alloc_comps (type, decl))
return true;
+2016-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/77666
+ * gfortran.dg/gomp/pr77666.f90: New test.
+
2016-09-27 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/77677
--- /dev/null
+! PR fortran/77666
+! { dg-do compile }
+
+subroutine foo(x)
+ interface
+ subroutine baz(x, y)
+ integer, allocatable :: x(:), y
+ end subroutine
+ end interface
+ integer, allocatable :: x(:), y
+!$omp parallel private(x, y)
+ call baz (x, y)
+!$omp end parallel
+end
+subroutine bar
+ interface
+ subroutine baz(x, y)
+ integer, allocatable :: x(:), y
+ end subroutine
+ end interface
+ integer, allocatable :: x(:), y
+ call baz (x, y)
+!$omp parallel private(x, y)
+ call baz (x, y)
+!$omp end parallel
+end