diff gcc/testsuite/gfortran.dg/generic_20.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/generic_20.f90	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,29 @@
+! { dg-do run }
+!
+! PR fortran/39304
+!
+! matmul checking was checking the wrong specific function
+! ("one" instead of "two")
+!
+module m
+  implicit none
+  interface one
+    module procedure one, two
+  end interface one
+contains
+  function one()
+    real :: one(1)
+    one = 0.0
+  end function one
+  function two(x)
+    real :: x
+    real :: two(1,1)
+    two = reshape ( (/ x /), (/ 1, 1 /) )
+  end function two
+end module m
+
+use m
+real :: res(1)
+res = matmul (one(2.0), (/ 2.0/))
+if (abs (res(1)-4.0) > epsilon (res)) call abort ()
+end