aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/assumed_rank_12.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.dg/assumed_rank_12.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.dg/assumed_rank_12.f9021
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.dg/assumed_rank_12.f90 b/gcc-4.9/gcc/testsuite/gfortran.dg/assumed_rank_12.f90
new file mode 100644
index 000000000..f947f4941
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.dg/assumed_rank_12.f90
@@ -0,0 +1,21 @@
+! { dg-do run }
+! { dg-options "-fdump-tree-original" }
+!
+! PR fortran/48820
+!
+! Ensure that the value of scalars to assumed-rank arrays is
+! copied back - and everything happens in the correct order.
+
+call sub(f())
+contains
+subroutine sub(x)
+ integer, pointer :: x(..)
+end subroutine sub
+function f() result(res)
+ integer, pointer :: res
+end function f
+end
+
+! { dg-final { scan-tree-dump " = f \\(\\);.*desc.0.dtype = .*;.*desc.0.data = .void .. D.*;.*sub \\(&desc.0\\);.*D.*= .integer.kind=4. .. desc.0.data;" "original" } }
+! { dg-final { cleanup-tree-dump "original" } }
+