! RUN: %python %S/test_errors.py %s %flang_fc1
! Exercise function vs subroutine distinction in generics
module m1
type t1
integer n
end type
interface g1
integer function f1(x, j)
import t1
class(t1), intent(in out) :: x
integer, intent(in) :: j
end
end interface
end module
program test
use m1
!WARNING: Generic interface 'g1' has both a function and a subroutine
interface g1
subroutine s1(x, a)
import t1
class(t1), intent(in out) :: x
real, intent(in) :: a
end subroutine
end interface
type(t1) :: x
print *, g1(x,1) ! ok
!ERROR: No specific function of generic 'g1' matches the actual arguments
print *, g1(x,1.)
!ERROR: No specific subroutine of generic 'g1' matches the actual arguments
call g1(x,1)
call g1(x, 1.) ! ok
contains
end