111
|
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 !
|
|
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
|
|
24
|
|
25 use m
|
|
26 real :: res(1)
|
|
27 res = matmul (one(2.0), (/ 2.0/))
|
131
|
28 if (abs (res(1)-4.0) > epsilon (res)) STOP 1
|
111
|
29 end
|