Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / gcc / testsuite / gfortran.dg / generic_20.f90
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/))
28 if (abs (res(1)-4.0) > epsilon (res)) call abort ()
29 end