[Patch, fortran] PR31200 , PR31215 and PR31219 - function call interface problems

Paul Richard Thomas paul.richard.thomas@gmail.com
Sat Mar 24 09:40:00 GMT 2007


:ADDPATCH fortran:

These three PRs are all associated with interface problems in
procedure calls.  PR31200 and PR31219 are both straightforward and the
fixes are adequately described in the ChangeLog entry.

PR31215 was difficult to diagnose but turned out to arise because a
function call interface was trying to translate the function result
before the call, in order to obtain its size so that a temporary can
be allocated for it.  Only the characteristics of the result can be
used in specification expressions so, rather than struggle through the
generation of a new symtree for the result, the fix is to replace the
LEN call that contains the function result with its character length.
I tried to write code that used SIZE but wound up with cyclic
specification expressions (that are not diagnosed by the way - see
FX's PR31306).  If cases can be found, the patch is more or less
there.

All three testcases are those of the reporters with embellishments to
test side cases, where necessary.

Bootstrapped and regtested on Cygwin_NT/amd64 - OK for trunk and,
eventually, for 4.2?

Paul

-- 
Saint Augustine - "O Lord, help me to be pure, but not yet"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Change.Logs
Type: application/octet-stream
Size: 940 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070324/7c8a177a/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: submit.diff
Type: application/octet-stream
Size: 8438 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070324/7c8a177a/attachment-0001.obj>


More information about the Gcc-patches mailing list