(j3.2006) a question on allowing internal procedures as procedure targets

Jim Xia jimxia
Mon Nov 3 14:24:20 EST 2008

Is the following declaration legal?

function externFn ()
        integer function proc ()
        end function
    end interface

    procedure(proc), pointer :: externFn
    integer i

    read *, i
    externFn => f


    integer function f ()
        f = i
    end function
end function

If it is legal, how would the value of i be defined. Consider the 
following user code

procedure(proc), pointer :: func

func => externFn()

print *, func()   !<-- what would this function return

If the declaration is illegal, can anyone point out where the standard 
states so.


Jim Xia

RL Fortran Compiler Test
IBM Toronto Lab at 8200 Warden Ave, Markham, On, L6G 1C7
Phone (905) 413-3444  Tie-line 313-3444
email: jimxia at ca.ibm.com
D2/YF7/8200 /MKM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://j3-fortran.org/pipermail/j3/attachments/20081103/f1c7e083/attachment-0001.html 

More information about the J3 mailing list