[Patch, Fortran] PR fortran/37425: Finish type-bound operators
Daniel Kraft
d@domob.eu
Tue Aug 18 23:49:00 GMT 2009
Hi all,
here's my follow-up patch to allow calls to type-bound operators. Some
points I'd like to check with someone else (also marked as XXX in the
patch):
* What's the usage of EXEC_ASSIGN_CALL instead of EXEC_CALL? Is it
necessary to do something similar also for the EXEC_COMPCALL's created
from resolving a type-bound assignment?
* I added calls to resolve code generated by expanding a defined
operator; because of this I think the checks for non-PURE calls in PURE
context I removed in the patch were not necessary as the resolving does
do them as well -- the error message does not any longer mention that
the call results from an operator, but I think it is better like that
instead of duplicating the checks. I had to add EXEC_ASSIGN_CALL to
resolve_code, though, as it seems that statements with it were never
resolved before. I added the case to do nothing, hope this is ok.
* Should we do ambiguity-checks while looking for matching operators?
Like, continue always through-out all checks to see if we would have
found another match? Compare PR 37297, maybe we could leave that open
but keep in mind to do something about it later.
No regressions on GNU/Linux-x86-32. Ok for trunk? (Removing the
XXX-comments or addressing the points as made.) I'm planning to do a
third patch in this sequence, covering possible extensions to
dump-parse-tree as well as internals documentation.
I'll be off from tomorrow until Sunday, so take your time in
reviewing/commenting on this one ;) On the other hand, if anyone really
feels like it, feel free to commit after a review if no further changes
are required.
Yours,
Daniel
--
Done: Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.changelog
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20090818/c1deae96/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.diff
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20090818/c1deae96/attachment-0001.ksh>
More information about the Gcc-patches
mailing list