! RUN: %python %S/test_errors.py %s %flang_fc1 | |
subroutine test1 | |
!ERROR: Generic interface 'foo' has both a function and a subroutine | |
interface foo | |
subroutine s1(x) | |
end subroutine | |
subroutine s2(x, y) | |
end subroutine | |
function f() | |
end function | |
end interface | |
end subroutine | |
subroutine test2 | |
!ERROR: Generic interface 'foo' has both a function and a subroutine | |
interface foo | |
function f1(x) | |
end function | |
subroutine s() | |
end subroutine | |
function f2(x, y) | |
end function | |
end interface | |
end subroutine | |
module test3 | |
!ERROR: Generic interface 'foo' has both a function and a subroutine | |
interface foo | |
module procedure s | |
module procedure f | |
end interface | |
contains | |
subroutine s(x) | |
end subroutine | |
function f() | |
end function | |
end module | |
subroutine test4 | |
type foo | |
end type | |
!ERROR: Generic interface 'foo' may only contain functions due to derived type with same name | |
interface foo | |
subroutine s() | |
end subroutine | |
end interface | |
end subroutine | |
subroutine test5 | |
interface foo | |
function f1() | |
end function | |
end interface | |
interface bar | |
subroutine s1() | |
end subroutine | |
subroutine s2(x) | |
end subroutine | |
end interface | |
!ERROR: Cannot call function 'foo' like a subroutine | |
call foo() | |
!ERROR: Cannot call subroutine 'bar' like a function | |
x = bar() | |
end subroutine |