32 lines
575 B
Fortran
32 lines
575 B
Fortran
! { 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
|
|
|
|
! { dg-final { cleanup-modules "m" } }
|