This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


: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"

Attachment: Change.Logs
Description: Binary data

Attachment: submit.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]