This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/46067] [F03] invalid procedure pointer assignment not detected


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]