diff gcc/testsuite/gfortran.dg/dependency_40.f90 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gfortran.dg/dependency_40.f90	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,29 @@
+! { dg-do run }
+! PR 48955 - missing array temporary when there was both a forward
+! and a backward dependency.
+! Test case slightly modified from the original one by Kacper Kowalik.
+program ala
+   implicit none
+
+   integer, parameter  :: n = 6
+   real, dimension(n), parameter :: result = [1.,10.,30.,90.,270., 243.];
+   real, dimension(n) :: v0, v1
+   character(len=80) :: line1, line2
+
+   v0 = [1.0, 3.0, 9.0, 27.0, 81.0, 243.0]
+   v1 = v0
+
+   v1(2:n-1) = v1(1:n-2) + v1(3:n)
+   if (any(v1 /= result)) call abort
+   v1 = v0
+   v1(2:n-1) = v0(1:n-2) + v0(3:n)
+   if (any(v1 /= result)) call abort
+
+   v1 = v0
+   v1(2:n-1) = v1(3:n) + v1(1:n-2)
+   if (any(v1 /= result)) call abort
+   v1 = v0
+   v1(2:n-1) = v0(3:n) + v0(1:n-2)
+   if (any(v1 /= result)) call abort
+
+end program ala