------- Comment #4 from mikael at gcc dot gnu dot org  2008-12-09 13:53 -------
(In reply to comment #3)
> The patch in comment #2 fixes the ICE without regression on 
> i686-apple-darwin9.
I didn't expect any regression with that patch. 
However, I wonder whether we are not missing something. 

For example, I tried to adapt the testcase in PR 33295 to the c_funloc case. 
The resulting program is rejected with the following error:
Error: Can't convert TYPE(_gfortran_iso_c_binding_c_funptr) to TYPE(c_funptr)
at (1)
The question is: Is it valid/Do we want to support this?

module a
  use iso_c_binding, only:c_funptr
end module a

module b
  use iso_c_binding, only:c_funloc!,c_funptr
end module b

module f
  contains
  subroutine g() bind(c)
  end subroutine
end module f

program c
  use b
  use a
  use f
  implicit none
  type (c_funptr) :: d 
  d = c_funloc (g)
end


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37829

Reply via email to