Hi Tobias, > On 11/12/19 1:42 PM, Thomas König wrote: >>> Ah, of course. I should have said module procedures. Or even module >>> procedures without bind(C)? >> It would probably be the latter. The change would actually be rather small: >> If conditions are met, just add attr.value for INTENT(IN). This is something >> we should probably do when we are forced into doing an ABI change by other >> circumstances. > > Will this still work if one does: > > module m > contains > integer function val(y) > integer, intent(in) :: y > val = 2*y > end function val > end module m > > use m > interface > integer function proc(z) > integer, intent(in) :: z > end function proc > end interface > procedure(proc), pointer :: ff > ff => val > print *, ff(10) > end
You are right, it would not work. So, scratch that idea. Maybe we should commit this as a test case so nobody gets funny ideas in two year‘s time 😉 So, I think we can then discuss the original patch. Regards Thomas