38 lines
827 B
Fortran
38 lines
827 B
Fortran
! { dg-do compile }
|
|
!
|
|
! PR39850: Too strict checking for procedures as actual argument
|
|
!
|
|
! Original test case by Tobias Burnus <burnus@gcc.gnu.org>
|
|
! Modified by Janus Weil <janus@gcc.gnu.org>
|
|
|
|
real function func()
|
|
print *,"func"
|
|
func = 42.0
|
|
end function func
|
|
|
|
program test
|
|
external func1,func2,func3,func4 ! subroutine or implicitly typed real function
|
|
call sub1(func1)
|
|
call sub2(func2)
|
|
call sub1(func3)
|
|
call sub2(func3) ! { dg-error "is not a subroutine" }
|
|
call sub2(func4)
|
|
call sub1(func4) ! { dg-error "is not a function" }
|
|
contains
|
|
subroutine sub1(a1)
|
|
interface
|
|
real function a1()
|
|
end function
|
|
end interface
|
|
print *, a1()
|
|
end subroutine sub1
|
|
subroutine sub2(a2)
|
|
interface
|
|
subroutine a2
|
|
end subroutine
|
|
end interface
|
|
call a2()
|
|
end subroutine
|
|
end
|
|
|