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