[Patch, Fortran] PR 42072: [F03] wrong-code with C_F_PROCPOINTER
Janus Weil
janus@gcc.gnu.org
Thu Nov 19 04:45:00 GMT 2009
>> As for doing the ISO_C_BINDING in gfc_conv_procedure_call, I do not have
>> any opinion, other than to note that the "normal" intrinsics are
>> different beasts altogether.
>
> Why are they so much different? Regarding the translation, we do
> pretty much the same for the ISO_C_BINDING intrinsics as we do for
> some of the others, namely replacing the call by some inline code.
> E.g. for C_F_PROCPOINTER, we just put in a simple pointer assignment.
Well, ok, I can see that they are handled a bit differently in some ways.
The least thing one could do would be to just separate out the
ISO_C_BINDING special handling code from gfc_conv_procedure_call, to
make it less of a monster.
The attachted patch does this by just putting the ISO_C_BINDING stuff
into a separate routine. And it does so without introducing any
regressions in the testsuite (i just checked). Should I commit this to
trunk?
Cheers,
Janus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr42072_2.diff
Type: text/x-diff
Size: 10035 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20091119/3049a533/attachment.bin>
More information about the Fortran
mailing list