1! { dg-do run } 2! 3! PR fortran/39304 4! 5! matmul checking was checking the wrong specific function 6! ("one" instead of "two") 7! 8module m 9 implicit none 10 interface one 11 module procedure one, two 12 end interface one 13contains 14 function one() 15 real :: one(1) 16 one = 0.0 17 end function one 18 function two(x) 19 real :: x 20 real :: two(1,1) 21 two = reshape ( (/ x /), (/ 1, 1 /) ) 22 end function two 23end module m 24 25use m 26real :: res(1) 27res = matmul (one(2.0), (/ 2.0/)) 28if (abs (res(1)-4.0) > epsilon (res)) STOP 1 29end 30