Commit 4f06d65b by Paul Thomas

re PR fortran/31711 (was "rhs array is changed while assiging to same lhs array")

2007-04-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31711
	* trans-array.c (gfc_conv_resolve_dependencies): Create a temp
	whenever a dependency is found.

2007-04-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31711
	* gfortran.dg/dependency_21.f90: New test.

From-SVN: r124269
parent d10fb73e
2007-04-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31711
* trans-array.c (gfc_conv_resolve_dependencies): Create a temp
whenever a dependency is found.
2007-04-28 Tobias Schlter <tobi@gcc.gnu.org>
* options.c (gfc_handle_option): Ensure requested free form line
......
......@@ -3001,6 +3001,8 @@ gfc_conv_resolve_dependencies (gfc_loopinfo * loop, gfc_ss * dest,
rref = ss->expr->ref;
nDepend = gfc_dep_resolver (lref, rref);
if (nDepend == 1)
break;
#if 0
/* TODO : loop shifting. */
if (nDepend == 1)
......
2007-04-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31711
* gfortran.dg/dependency_21.f90: New test.
2007-04-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/secnds.f: Use real*8.
! { dg-do run }
! Test the fix for PR31711 in which the dependency in the assignment
! at line 18 was detected and then ignored.
!
! Contributed by Tobias Ivarsson <thobes@gmail.com>
!
program laplsolv
IMPLICIT NONE
integer, parameter :: n = 2
double precision,dimension(0:n+1, 0:n+1) :: T
integer :: i
T=0.0
T(0:n+1 , 0) = 1.0
T(0:n+1 , n+1) = 1.0
T(n+1 , 0:n+1) = 2.0
T(1:n,1)=(T(0:n-1,1)+T(1:n,1+1)+1d0)
if (any (T(1:n,1) .ne. 1d0 )) call abort ()
end program laplsolv
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment