1*2f999cceSPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1 2*2f999cceSPeter Klausler! Exercise function vs subroutine distinction in generics 3*2f999cceSPeter Klauslermodule m1 4*2f999cceSPeter Klausler type t1 5*2f999cceSPeter Klausler integer n 6*2f999cceSPeter Klausler end type 7*2f999cceSPeter Klausler interface g1 8*2f999cceSPeter Klausler integer function f1(x, j) 9*2f999cceSPeter Klausler import t1 10*2f999cceSPeter Klausler class(t1), intent(in out) :: x 11*2f999cceSPeter Klausler integer, intent(in) :: j 12*2f999cceSPeter Klausler end 13*2f999cceSPeter Klausler end interface 14*2f999cceSPeter Klauslerend module 15*2f999cceSPeter Klausler 16*2f999cceSPeter Klauslerprogram test 17*2f999cceSPeter Klausler use m1 18*2f999cceSPeter Klausler !WARNING: Generic interface 'g1' has both a function and a subroutine 19*2f999cceSPeter Klausler interface g1 20*2f999cceSPeter Klausler subroutine s1(x, a) 21*2f999cceSPeter Klausler import t1 22*2f999cceSPeter Klausler class(t1), intent(in out) :: x 23*2f999cceSPeter Klausler real, intent(in) :: a 24*2f999cceSPeter Klausler end subroutine 25*2f999cceSPeter Klausler end interface 26*2f999cceSPeter Klausler type(t1) :: x 27*2f999cceSPeter Klausler print *, g1(x,1) ! ok 28*2f999cceSPeter Klausler !ERROR: No specific function of generic 'g1' matches the actual arguments 29*2f999cceSPeter Klausler print *, g1(x,1.) 30*2f999cceSPeter Klausler !ERROR: No specific subroutine of generic 'g1' matches the actual arguments 31*2f999cceSPeter Klausler call g1(x,1) 32*2f999cceSPeter Klausler call g1(x, 1.) ! ok 33*2f999cceSPeter Klausler contains 34*2f999cceSPeter Klauslerend 35