fix pr/45972
[official-gcc.git] / gcc / testsuite / gfortran.dg / generic_20.f90
blob04a57b09057be5bcd027043da88ca232fa1ca433
1 ! { dg-do run }
3 ! PR fortran/39304
5 ! matmul checking was checking the wrong specific function
6 ! ("one" instead of "two")
8 module m
9 implicit none
10 interface one
11 module procedure one, two
12 end interface one
13 contains
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
23 end module m
25 use m
26 real :: res(1)
27 res = matmul (one(2.0), (/ 2.0/))
28 if (abs (res(1)-4.0) > epsilon (res)) call abort ()
29 end
31 ! { dg-final { cleanup-modules "m" } }