aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/forall_6.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/forall_6.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/forall_6.f9025
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/forall_6.f90 b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/forall_6.f90
new file mode 100644
index 000000000..b277814fb
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/forall_6.f90
@@ -0,0 +1,25 @@
+! Program to test FORALL with scalar pointer assignment inside it.
+program forall_6
+ type element
+ real, pointer :: p
+ end type
+
+ type (element) q(5)
+ real, target, dimension(5) :: t
+ integer i;
+
+ t = (/1.0, 2.0, 3.0, 4.0, 5.0/)
+
+ do i = 1,5
+ q(i)%p => t(i)
+ end do
+
+ forall (i = 1:5)
+ q(i)%p => q(6 - i)%p
+ end forall
+
+
+ do i = 1,5
+ if (q(i)%p .ne. t(6 - i)) call abort
+ end do
+end