79 lines
1.3 KiB
Fortran
79 lines
1.3 KiB
Fortran
! RUN: %python %S/test_errors.py %s %flang_fc1
|
|
! Ensures that a generic's shadowed procedure or derived type
|
|
! can be overridden by a valid interior interface definition
|
|
! in some cases.
|
|
|
|
module m1
|
|
contains
|
|
subroutine foo
|
|
end subroutine
|
|
subroutine test
|
|
interface foo
|
|
subroutine foo(n)
|
|
integer, intent(in) :: n
|
|
end subroutine
|
|
end interface
|
|
call foo(1)
|
|
end subroutine
|
|
end module
|
|
|
|
module m2
|
|
contains
|
|
subroutine test
|
|
interface foo
|
|
subroutine foo(n)
|
|
integer, intent(in) :: n
|
|
end subroutine
|
|
end interface
|
|
call foo(1)
|
|
end subroutine
|
|
subroutine foo
|
|
end subroutine
|
|
end module
|
|
|
|
module m3
|
|
interface
|
|
subroutine foo
|
|
end subroutine
|
|
end interface
|
|
contains
|
|
subroutine test
|
|
interface foo
|
|
subroutine foo(n)
|
|
integer, intent(in) :: n
|
|
end subroutine
|
|
end interface
|
|
call foo(1)
|
|
end subroutine
|
|
end module
|
|
|
|
module m4a
|
|
contains
|
|
subroutine foo
|
|
end subroutine
|
|
end module
|
|
module m4b
|
|
use m4a
|
|
contains
|
|
subroutine test
|
|
interface foo
|
|
subroutine foo(n)
|
|
integer, intent(in) :: n
|
|
end subroutine
|
|
end interface
|
|
call foo(1)
|
|
end subroutine
|
|
end module
|
|
|
|
module m5
|
|
type bar
|
|
end type
|
|
contains
|
|
subroutine test
|
|
interface bar
|
|
real function bar()
|
|
end function
|
|
end interface
|
|
print *, bar()
|
|
end subroutine
|
|
end module
|