Make forall statement in testsuite conforming.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Tue, 23 Jun 2020 19:59:47 +0000 (21:59 +0200)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Tue, 23 Jun 2020 19:59:47 +0000 (21:59 +0200)
The recent patch for dependency checking introduced one failing test
case for pointer assignments in a forall statement.  This test case
was invalid because of an interdependency in a forall statement.
This patch fixes that by removing that dependency.

gcc/testsuite/ChangeLog:

* gfortran.fortran-torture/execute/forall_5.f90: Make forall
statement conforming.

gcc/testsuite/gfortran.fortran-torture/execute/forall_5.f90

index 9b33e21e8fc1b6a9abc66c4ddd1b6056e2a21fc1..c162d44348be49ad3658a608fb56f146a534fa83 100644 (file)
@@ -4,23 +4,23 @@ program forall_5
       integer, pointer, dimension(:)::p
    end type
 
-   type (element) q(5)
+   type (element) :: q(5), r(5)
    integer, target, dimension(25)::t
 
    n = 5
    do i = 1,5
-      q(i)%p => t((i-1)*n + 1:i*n)
+      r(i)%p => t((i-1)*n + 1:i*n)
    enddo 
 
    forall (i = 2:5)
-      q(i)%p => q(i-1)%p
+      q(i)%p => r(i-1)%p
    end forall
 
    do i = 1, 25
       t(i) = i
    enddo
 
-   if (any(q(1)%p .ne. (/1,2,3,4,5/))) STOP 1
+   if (any(r(1)%p .ne. (/1,2,3,4,5/))) STOP 1
    if (any(q(2)%p .ne. (/1,2,3,4,5/))) STOP 2
    if (any(q(3)%p .ne. (/6,7,8,9,10/))) STOP 3
    if (any(q(4)%p .ne. (/11,12,13,14,15/))) STOP 4