mirror of git://gcc.gnu.org/git/gcc.git
backport: re PR fortran/71717 (A gfortran silent "wrong code" bug in the transition from 4.9.0 -> 4.9.1, using OpenMP.)
Backported from mainline 2016-07-01 Jakub Jelinek <jakub@redhat.com> PR fortran/71717 * trans-openmp.c (gfc_omp_privatize_by_reference): Return false for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE. * testsuite/libgomp.fortran/associate3.f90: New test. From-SVN: r238104
This commit is contained in:
parent
e74885afa7
commit
0310db3e48
|
|
@ -1,6 +1,12 @@
|
||||||
2016-07-07 Jakub Jelinek <jakub@redhat.com>
|
2016-07-07 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Backported from mainline
|
Backported from mainline
|
||||||
|
2016-07-01 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR fortran/71717
|
||||||
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Return false
|
||||||
|
for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE.
|
||||||
|
|
||||||
2016-06-30 Jakub Jelinek <jakub@redhat.com>
|
2016-06-30 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR fortran/71704
|
PR fortran/71704
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,7 @@ gfc_omp_privatize_by_reference (const_tree decl)
|
||||||
if (GFC_DECL_GET_SCALAR_POINTER (decl)
|
if (GFC_DECL_GET_SCALAR_POINTER (decl)
|
||||||
|| GFC_DECL_GET_SCALAR_ALLOCATABLE (decl)
|
|| GFC_DECL_GET_SCALAR_ALLOCATABLE (decl)
|
||||||
|| GFC_DECL_CRAY_POINTEE (decl)
|
|| GFC_DECL_CRAY_POINTEE (decl)
|
||||||
|
|| GFC_DECL_ASSOCIATE_VAR_P (decl)
|
||||||
|| VOID_TYPE_P (TREE_TYPE (TREE_TYPE (decl))))
|
|| VOID_TYPE_P (TREE_TYPE (TREE_TYPE (decl))))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,11 @@
|
||||||
|
2016-07-07 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
Backported from mainline
|
||||||
|
2016-07-01 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR fortran/71717
|
||||||
|
* testsuite/libgomp.fortran/associate3.f90: New test.
|
||||||
|
|
||||||
2016-06-03 Release Manager
|
2016-06-03 Release Manager
|
||||||
|
|
||||||
* GCC 5.4.0 released.
|
* GCC 5.4.0 released.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
! PR fortran/71717
|
||||||
|
! { dg-do run }
|
||||||
|
|
||||||
|
type t
|
||||||
|
real, allocatable :: f(:)
|
||||||
|
end type
|
||||||
|
type (t) :: v
|
||||||
|
integer :: i, j
|
||||||
|
allocate (v%f(4))
|
||||||
|
v%f = 19.
|
||||||
|
i = 5
|
||||||
|
associate (u => v, k => i)
|
||||||
|
!$omp parallel do
|
||||||
|
do j = 1, 4
|
||||||
|
u%f(j) = 21.
|
||||||
|
if (j.eq.1) k = 7
|
||||||
|
end do
|
||||||
|
end associate
|
||||||
|
if (any (v%f(:).ne.21.) .or. i.ne.7) call abort
|
||||||
|
end
|
||||||
Loading…
Reference in New Issue