This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/46067] [F03] invalid procedure pointer assignment not detected
- From: "janus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 21 Oct 2010 07:54:56 +0000
- Subject: [Bug fortran/46067] [F03] invalid procedure pointer assignment not detected
- Auto-submitted: auto-generated
- References: <bug-46067-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46067
--- Comment #7 from janus at gcc dot gnu.org 2010-10-21 07:54:43 UTC ---
And here is yet another variant, which uses a procedure as actual argument to
another procedure (instead of procedure pointers). Same symptoms
(accepts-invalid).
module m
type test_type
integer :: id = 1
end type
contains
real function fun1 (t,x)
real, intent(in) :: x
type(test_type) :: t
print *," id = ", t%id
fun1 = cos(x)
end function
end module
use m
implicit none
call test(fun1)
contains
subroutine test(proc)
interface
real function proc(t,x)
import :: test_type
real, intent(in) :: x
class(test_type) :: t
end function
end interface
type(test_type) :: funs
real :: r
r = proc(funs,0.)
print *, " proc(0) ",r
end subroutine
end