80 lines
1.3 KiB
Fortran
80 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
|