[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