summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/array_function_6.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/array_function_6.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/array_function_6.f9017
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/array_function_6.f90 b/gcc/testsuite/gfortran.dg/array_function_6.f90
new file mode 100644
index 000000000..3dab43dcb
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/array_function_6.f90
@@ -0,0 +1,17 @@
+! { dg-do run }
+! PR46842 wrong results with MATMUL(..., TRANSPOSE (func ()))
+implicit none
+call sub()
+contains
+ subroutine sub()
+ real, dimension(2,2) :: b
+ b = 1.0
+ b = matmul(b,transpose(func()))
+ if (any(b.ne.reshape((/ 4.0, 4.0, 6.0, 6.0 /),[2,2]) )) print *, b
+ end subroutine
+
+ function func() result(res)
+ real, dimension(2,2) :: res
+ res = reshape([1,2,3,4], [2,2])
+ end function
+end